mysql_fetch_array
si jai une base de données et ke je fais un SELECT, puis mysql_fetch_array de la requete et que jobtien un tableau ky n'est pas constitué d'une seule ligne, est il possible de refaire un SELECT dans cette sous-table ?? jai essayé mais je n'ai pas réussi !
$sql='SELECT * FROM test WHERE x > 10';
$req=mysql_query($sql);
$data=mysql_fetch_array($req);
$sql2='SELECT * FROM "'.$data.'" WHERE y > 10';
$req2=mysql_query($sql2);
$data2=mysql_fetch_array($req2);
$final=$data2['z'];
ya t-il une solution a mon probleme ?
je veux justement éviter de faire un AND et de mettre les 2 conditions dans le meme select pour éviter de faire une boucle 50 fois sur la grosse table. je voulais faire dabor une préselection, comme ca la boucle de 50 répétitions tourne sur une table moins consistante.
merci davance
Merci LEPHPFACILE et tous ses membres :)
mysql_fetch_array retourne un tableau et non une chaine de caracteres.
"mysql_fetch_array retourne un tableau et non une chaine de caracteres"
je n'ai jamais dit le contraire !!
Merci LEPHPFACILE et tous ses membres :)
Ce que je veux dire par la, c'est quand on fait une requete SQL, ben generallement on ecrit :
SELECT des_trucs FROM une_table
Et une_table est en fait une chaine de caracteres, et non un tableau.
Toi tu as ecris : SELECT * FROM $data
Or $data est un tableau et non une chaine de caracteres.
Voila
ben c pour ca que ca marche pas justement jmen suis apercu ! mais jai mis ca dans mon post pour ke tu puisse voir ce que jai voulu faire ... visiblement je t'ai + troublé qu'autre chause :o/
comment je peux faire alors ? y a-t-il une solution ? car moi je n'en vois pas ... il y a peut-être une fonction que je ne connais pas qui pourrait m'aider !
Toi qui es un programmateur érudit, pourrais-tu me donner cette pitite fonction magique ?
Merci LEPHPFACILE et tous ses membres :)
Ben, il te suffit de faire comme dans les cours.
$data=mysql_fetch_array($req);
$nom_de_ta_table = $data['le_truc'];
Puis de continuer le script avec un :
SELECT ... FROM $nom_de_la_table ...
$sql='SELECT * FROM Info5 WHERE x >="'.$xmin.'"';
$req=mysql_query($sql);
$data=mysql_fetch_array($req);
$table=$data['x,y,z'];
$sql='SELECT * FROM '.$table.' WHERE x="'.$xvar.'"';
$req=mysql_query($sql);
$exi=mysql_num_rows($req);
On mindique que ma requete n'est pas valable. jai essayé également sans les '. .' autour de $table
Comme dans le cours tu dis ? j'ai cherché dans le cours mais je n'ai pas vu un exemple comme ca ... tu peux me dire dans quelle partie c'est si tu veux pas m'indiquer ma faute ?
Merssi
Merci LEPHPFACILE et tous ses membres :)
$table=$data['x,y,z']; << tu veux faire quoi en ecrivant ca ?????
Je comprend pas la.
jai fait ce ke tu ma dit sauf au lieu de ['truc'] je voulai récupérer 3 colonnes de lancienne table pour en faire une nouvelle
ca ne marce pas a plusieurs colonnes ton truc ?
Merci LEPHPFACILE et tous ses membres :)
Nan mais quand on ecrit FROM x, on s'attend à ce que x soit une chaine de caracteres representant le nom d'une table de ta base de données.
Ca ne peut pas etre 3 noms d'attributs.
PS : Et aussi, $data['x, y, z'] ne veut rien dire.
Il faut ecrire (comme dans les cours ^^) ceci pour recuperer les valeurs de tes 3 attributs :
$x = $data['x'];
$y = $data['z'];
$z = $data['y'];