récupérer les résultat d'une requête

Eléphant du PHP | 417 Messages

19 juin 2011, 15:25

Bonjour a tous le monde,

je voulais savoir comment faire pour stocker les resultat d'une requête sql dans une variable ? sachent que la requête me renvoi des nombre (1,2 4,10,32...)
voici la requête :

sql = " Select id_img from image where id_sujet =". $id

enfait moi après je veux faire une boucle while :

$i = 1;

while $i <= $max
{
if (la je veux récupérer les nombre que jé stocker dans la variable avant et les compares un par un avec ma variable $i "si c'est =")
{
code...
}
$i++;
}


je pense que vous avez compris mon problème

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

19 juin 2011, 15:49

Regarde du côté des fonctions de type fetch : mysql_fetch_assoc, mysql_fetch_object, ... elles te permettront de parcourir les enregistrements retournés par ta requête dans un while, et de faire les tests dont tu as besoin :) (regarde les exemples de la doc, ils illustrent bien leur utilisation)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 417 Messages

19 juin 2011, 16:49

merci pour ta réponse,

mais vu que je suis débutant tu pourrai pas me donner un exemple?

merci d'avance.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

19 juin 2011, 16:59

Je vais même faire mieux, je vais te donner l'adresse de la documentation pour que tu puisses trouver toutes les méthodes, les descriptions et les exemples dont tu as besoin :)

http://fr.php.net/

=> description et exemples de la fonction mysql_fetch_assoc() :
http://fr.php.net/manual/fr/function.my ... -assoc.php
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 417 Messages

19 juin 2011, 18:54

Je vais même faire mieux, je vais te donner l'adresse de la documentation pour que tu puisses trouver toutes les méthodes, les descriptions et les exemples dont tu as besoin :)

http://fr.php.net/

=> description et exemples de la fonction mysql_fetch_assoc() :
http://fr.php.net/manual/fr/function.my ... -assoc.php
Enorme :) jvé voir ça et je te dit les résultats ^^

Eléphant du PHP | 417 Messages

19 juin 2011, 20:48

j'ai trop compris j'ai essayé mais sa donne un msg d'erreur

j'ai essayé ça


$sql2 ="SELECT *
FROM image
WHERE id_portfolio = ".$id;
$requete2 = mysql_query( $sql2, $cnx );
$result2 = mysql_fetch_object( $requete2 );

$row = mysql_fetch_assoc($result2);
echo 'mon row :'.$row["id_img"];

et voila message d'erreur

Warning: mysql_fetch_assoc() expects parameter 1 to be resource

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

19 juin 2011, 22:10

Ouaip, t'as mélangé un peu des deux... si tu es à l'aise avec la manipulation d'objets en php, tu peux utiliser mysql_fetch_object, sinon le mysql_fetch_assoc reste le plus simple :
$sql2 ="SELECT *
FROM image
WHERE id_portfolio = ".$id; 
$requete2 = mysql_query( $sql2, $cnx );

// si tu n'as qu'un seul résultat
$row = mysql_fetch_assoc($requete2 );
echo 'mon row :'.$row["id_img"];

// ou si tu as plusieurs enregistrements :
while ($row = mysql_fetch_assoc($requete2 ) ) {
  echo 'mon row :' . $row["id_img"] . '<br />'; 
}
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 417 Messages

19 juin 2011, 22:27

j'ai copie ton code est résultat ça m'affiche qu'un seul id_img sachent que dans ma table j'ai deux image qui on la meme $id faut avoir comme résultat :

mon row :17
mon row :18

alors que ce que j'ai comme résultat c'est

mon row :18

le dernière id_img

***************************************
j'ai rajouté un enregistrement dans la table images un enregistrement qui a le meme id_portfolio que les deux d'avant

et résultat c'est

mon row :18
mon row :20

je sais pas pk il m'affiche pa le première id_img le 17 :s

Mammouth du PHP | 2278 Messages

24 juin 2011, 19:30

Moi je suis bête à manger du foin,
alors j'aimerais savoir comment est organisée la BDD:
id_img : ce sont des numéros d'images qui peuvent apparaître plusieurs fois?
id_sujet : c'est un champ texte, je suppose.
ca donne un truc comme ça:
1!oiseaux
1!nature
2!mer
2!navigation
3!voyage
...
Firstement :
je trouve que ça serait nettement mieux si on avait trois tables (une fois en place avec des sous select):
images
---------
id_image (unique)!nom_image
1!le_canari.png
2!la_traite_des_vaches_en_Egypte
3!la_pacific_231.gif

mots_clefs
-------------
id_mot_clef (unique)!mot_clef
1!nature
2!mer
3!navigation
4!voyage
5!oiseaux

ça permet de bien contrôler les mots-clefs

liaison
id_mot_clef !id_image
1!1 au mot cle 1 est associee l'image 1
5!1au mot cle 5 est associee l'image 1

Mais ce que j'en dis....
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD