Comment faire un INSERT avec un INCLUDE ?

doom
WRInaute discret
WRInaute discret
 
Messages: 155
Inscription: 21 Déc 2003

Comment faire un INSERT avec un INCLUDE ?

Message le Sam Aoû 26, 2006 22:50

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: Tout sélectionner
$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


obi
WRInaute discret
WRInaute discret
 
Messages: 238
Inscription: 26 Juil 2006

Message le Sam Aoû 26, 2006 23:11

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.


sonikbuzz
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 469
Inscription: 21 Fév 2005

Message le Sam Aoû 26, 2006 23:19

Salut,
Si tu veux recuperer le code html d'une page tu peux faire ca :
Code: Tout sélectionner
$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:

doom
WRInaute discret
WRInaute discret
 
Messages: 155
Inscription: 21 Déc 2003

Message le Sam Aoû 26, 2006 23:59

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 ?

Zim'
WRInaute impliqué
WRInaute impliqué
 
Messages: 804
Inscription: 27 Avr 2006

Message le Dim Aoû 27, 2006 2:06

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


sonikbuzz
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 469
Inscription: 21 Fév 2005

Message le Dim Aoû 27, 2006 11:59

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

doom
WRInaute discret
WRInaute discret
 
Messages: 155
Inscription: 21 Déc 2003

Message le Dim Aoû 27, 2006 12:28

voici le code pour un enregistrement :

Code: Tout sélectionner
<!-- 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>

Zim'
WRInaute impliqué
WRInaute impliqué
 
Messages: 804
Inscription: 27 Avr 2006

Message le Dim Aoû 27, 2006 20:32

gné?

Explique nous... ce sera tout aussi bien... mieux que de nous filer le CS de PMA ^^


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité