stockage de requête

Eléphanteau du PHP | 20 Messages

08 juil. 2005, 14:53

La fonction serialize() ne serait-elle pas ton amie?

Invité
Invité n'ayant pas de compte PHPfrance

08 juil. 2005, 15:20

je me suis renseigner sur les fonction pour avoir les nom de champs et j ai fait cela
mais il y a une petite erreur

Code : Tout sélectionner

$sql="select requete from requete where numrequete=".$_POST['numero']; $result=pg_query($sql); $list=pg_fetch_array($result); $sql2="".$list['requete'].""; $result2=pg_query($sql2); while($list2=pg_fetch_array($result2)) { $i = pg_num_fields($result2); for ($j = 0; $j < $i; $j++) { $fieldname = pg_field_name($result2, $j); echo "field : ".$fieldname; echo $list2['".$fieldname."']; } }

j'ai ce message d'erreur
Notice: Undefined index: ".$fieldname." in c:\program files\easyphp1-7\www\progt\essai.php on line 74

et sa correspond à cette ligne,car la ligne avec le echo j'affiche bien le nom du champs.
echo $list2['".$fieldname."'];
pourtant mon code me semble correct

Invité
Invité n'ayant pas de compte PHPfrance

08 juil. 2005, 15:23

en faisant sa
echo $list2["$fieldname"];
sa marche mais je comprends pas pourquoi

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

08 juil. 2005, 15:24

c'ets que tu as une erreur avec tes guillemets

il croit que $fieldname est une clé de tableau, et non la valeur de $fieldname

essaye tout simplement :
echo $list2[$fieldname];

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

08 juil. 2005, 15:26

en faisant sa
echo $list2["$fieldname"];
sa marche mais je comprends pas pourquoi
parcequ'une chaine entourée de guillemets simples fait que les variables ne seront pas interprétées

donc avec :
echo $list2['".$fieldname."'];
ta chaine (et donc la clé) vaut : ".$fieldname." (guillemets inclus)

alors que si tu vires les guillemets simples :
echo $list2["$fieldname"];
ta chaine (et donc la clé) vaut la valeur de $fieldname, car les guillemets doubles ont permis le remplacement de la variable par sa valeur

;)