Comment faire un INSERT avec un INCLUDE ?

  • Auteur de la discussion Auteur de la discussion doom
  • Date de début Date de début
WRInaute discret
bonjour à tous,

voilà, je rencontre actuellement quelques petits problèmes de programmation.

En effet, je désire construire une requete SQL qui insère dans une base de donnée le contenu d'une de mes pages.

Pour cela, je pensai faire cela :

Code:
$sql = mysql_query('INSERT INTO code_html VALUES ('.include "tmp.php"')'  ) or die('Erreur SQL 1<br>'.$sql.'<br>'.mysql_error());

Malheuresement vous imaginez bien que ça ne marche pas :(:(

comment faire svp? je ne vois pas du tout comment articuler ma requete :?

merci d'avance de votre aide

amicalement

doom
 
WRInaute discret
Tu ouvres ton fichier avec fopen, tu mets son contenu dans un string, tu échappes les apostrophes avec une regexp ( preg_replace ) et enfin tu fais ton insert.
 
WRInaute occasionnel
Salut,
Si tu veux recuperer le code html d'une page tu peux faire ca :
Code:
$html_code = file_get_contents( $url_de_la_page );
et apres tu insert $html_code dans ta table mysql .

il doit exister plus propre... :oops:
 
WRInaute discret
merci beaucoup à vous deux pour votre réponse rapide!

j'ai opté pour la méthode de sonikbuzz

cependant, je rencontre un petit problème avec phpmyadmin.

en effet, j'ai rajouté cette ligne à mon code pour que l'insertion fonctionne :
$html_code2 = addslashes($html_code);

cependant, quand je veux afficher la table contenant les enregistrements, le code html se trouvant dans le champ html (parametre en TEXT dans mysql) est interpreté comme code source de la page, et comme ce que j'insère dans la table contient des énoncés <table> (des tableaux) et bien je me retrouve avec le contenu de mon insert dans phpmyadmin imbriqué dans la bage, et impossible de modifier l'insertion,

je sais pas si j'ai été clair

que faire docteur ?
 
WRInaute impliqué
bizard, car déjà simplement quand tu fait "afficher" dans PMA, tu n'a qu'un extrait des données en principe...

Si vraiment cela te pose soucis, et que personne d'autres ne te trouve de solutions, alors crée toi un p'tit module d'admin, fais toi une sorte de PMA perso, ultra light, et avec les fonctions qui te conviennent
 
WRInaute occasionnel
Ca veux dire que tu ne peux pas cliquer sur le bouton modifier ? ou bien que lorsque tu cliques sur modifier ...

Je trouve ca aussi entrange 8O car lorsque tu veux modifier c'est affiché dans des textarea .

Tu peux envoyer le code source de la page
 
WRInaute discret
voici le code pour un enregistrement :

Code:
<!-- Results table body -->
        
<tr onmouseover="setPointer(this, 0, 'over', '#DDDDDD', '#CCFFCC', '#FFCC99');" onmouseout="setPointer(this, 0, 'out', '#DDDDDD', '#CCFFCC', '#FFCC99');" onmousedown="setPointer(this, 0, 'click', '#DDDDDD', '#CCFFCC', '#FFCC99');">
                
    <td bgcolor="#DDDDDD">
        <form action="tbl_change.php" method="post">
            <input type="hidden" name="lang" value="fr-iso-8859-1" />
            <input type="hidden" name="convcharset" value="iso-8859-1" />
            <input type="hidden" name="server" value="1" />
            <input type="hidden" name="db" value="RF2459" />
            <input type="hidden" name="table" value="fiches" />
            <input type="hidden" name="pos" value="0" />
            <input type="hidden" name="session_max_rows" value="30" />
            <input type="hidden" name="disp_direction" value="horizontal" />
            <input type="hidden" name="repeat_cells" value="100" />
            <input type="hidden" name="dontlimitchars" value="0" />
            <input type="hidden" name="primary_key" value=" `id1` = '27046' AND `id2` = '27046' AND `titre` = 'fiche_511' AND `html` = '<table cellSpacing="0" cellPadding="0"  id="table5" style="border-width: 0px; border-style:hidden"><tr><td vAlign="top" width="150" style="border-width: 0px;border-style:hidden">
blablablablablablabla
</td></tr></table>'" />
            <input type="hidden" name="sql_query" value="SELECT * FROM `fiches`" />
            <input type="hidden" name="goto" value="sql.php" />
            <input type="submit" value="Modifier" />
</form>
    </td>


    <td bgcolor="#DDDDDD">
        <form action="sql.php" method="post">
            <input type="hidden" name="lang" value="fr-iso-8859-1" />
            <input type="hidden" name="convcharset" value="iso-8859-1" />
            <input type="hidden" name="server" value="1" />
            <input type="hidden" name="db" value="RF2459" />
            <input type="hidden" name="table" value="fiches" />
            <input type="hidden" name="pos" value="0" />
            <input type="hidden" name="session_max_rows" value="30" />
            <input type="hidden" name="disp_direction" value="horizontal" />
            <input type="hidden" name="repeat_cells" value="100" />
            <input type="hidden" name="dontlimitchars" value="0" />
            <input type="hidden" name="sql_query" value="DELETE FROM `fiches` WHERE `id1` = '27046' AND `id2` = '27046' AND `titre` = 'fiche_511' AND `html` = '<table cellSpacing="0" cellPadding="0"  id="table5" style="border-width: 0px; border-style:hidden"><tr><td vAlign="top" width="150" style="border-width: 0px;border-style:hidden">
blablablablablablabla
</td></tr></table>' LIMIT 1" />
            <input type="hidden" name="zero_rows" value="L'enregistrement a été effacé" />
            <input type="hidden" name="goto" value="sql.php?lang=fr-iso-8859-1&convcharset=iso-8859-1&server=1&db=RF2459&table=fiches&pos=0&session_max_rows=30&disp_direction=horizontal&repeat_cells=100&dontlimitchars=0&sql_query=SELECT+%2A+FROM+%60fiches%60&zero_rows=L%27enregistrement+a+%E9t%E9+effac%E9&goto=db_details_structure.php" />
            <input type="submit" value="Effacer" />
</form>
    </td>
 
Discussions similaires
Haut