PB requete MYSQL : mysql_fetch_array()

Eléphanteau du PHP | 44 Messages

25 juin 2005, 09:57

Bonjour,

J'ai un soucis avec une requete mysql.

"select * from table"...............;;dans ce cas là , tout marche impecable!!

Lorsque je mets un champs à la place de l'étoile, la commande "mysql_num_rows()" me retourne bien le bon nombre d'enregistrements, mais la commande "mysql_fetch_array()" ne me retourne rien(tableau vide).

voici mon bout de code:

$req_categories="select categorie1 from categories";
mysql_query($req_categories);
$test=mysql_query($req_categories);
$cats=mysql_fetch_array($test,mysql_num);
$nbcat=mysql_num_rows(mysql_query($req_categories));

$cats est vide tandis que $nbcat me retourne le bon nombre!!!!!!


Quelqu'un peut-il m'aider????

Mammouth du PHP | 19672 Messages

25 juin 2005, 10:34

$cats=mysql_fetch_array($test,mysql_num);
C'est quoi ce mysql_num ???

Essaye la chose suivante:
<?php
$req_categories="select categorie1 from categories";
$test=mysql_query($req_categories);
$nb = mysql_num_rows($test);
$i = 1;
while($cats=mysql_fetch_array($test))
{
    echo("<p>Catégorie ". $i ." sur ". $nb ." : ".$cats['categorie1']);
    $i++;
}
?>
Ça devrait t'afficher la liste récupérée.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 44 Messages

25 juin 2005, 10:48

Merci de ton aide.

Le debut du code marche impec mais l'affichage bug.

il m'affiche : "cat 1 su 6 : " mais pas le nom de la categorie

es tu sûr de ton code : .$cats['categorie1'] ????

Mammouth du PHP | 19672 Messages

25 juin 2005, 10:59

Code : Tout sélectionner

select categorie1 from categories
Ta requête ne demande rien d'autre, donc tu n'auras rien d'autre. Rajoute d'autres champs après `categorie1`, exemple:

Code : Tout sélectionner

select categorie1, nom_cat from categories
Après tu fais:
<?php
$req_categories="select categorie1 from categories";
$test=mysql_query($req_categories);
$nb = mysql_num_rows($test);
$i = 1;
while($cats=mysql_fetch_array($test))
{
    echo("<p>Catégorie ". $i ." sur ". $nb ." : ".$cats['categorie1']." / ". $cats['nom_cat']);
    $i++;
}
?>
Oì "nom_cat correspond au champ où est le nom dans ta table, à remplacer par le nom que tu utilises."
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 44 Messages

25 juin 2005, 11:15

merci de ton aide

ca marche impec