Les Allergies
Alimentaires
Posez votre question Signaler

Récupérer valeurs colonne mysql dans array [Résolu]

Mex0s 43Messages postés 19 mars 2009Date d'inscription 14 octobre 2011Dernière intervention - Dernière réponse le 26 avril 2011 à 00:39
Bonjour,
J'ai une table "produits" avec 3entrées et une colonne nommée "Marque" (seules 2 des 3 entrées ont une valeur dans cette colonne). J'essaie de faire une liste des marques que l'on peut trouver dans cette colonne (si possible en un seul exemplaire meme s'il retrouve plusieurs fois la meme marque).
$sql = "SELECT Marque FROM produits";
$reponse = mysql_query($sql);
mysql_close();
$ligne = mysql_fetch_array($reponse);
$nb_marques = count($ligne);
echo $nb_marques; //affiche 2
if (!isset ($ligne[0])){echo 'ho';} else {echo $ligne[0];} //affiche la bonne valeur
if (!isset ($ligne[1])){echo 'variable inexistante';} else {echo $ligne[1];} //affiche 'variable inexistante'
La fonction count() dit que l'array $ligne contient 2 valeurs et pourtant le deuxieme test que je fais ( !isset($ligne[1]) ) dit que cette valeur n'existe pas, je ne comprends pas Comment c'est possible.
J'espere que vous pourrez m'aider, n'hésitez pas si vous avez des questions.
D'avance merci.
Lire la suite 

Récupérer valeurs colonne mysql dans array »

7 réponses
Réponse
+1
moins plus
T'as viré la ligne "$ligne = mysql_fetch_array($reponse);" avant de faire le while ?

Testes ça :
$sql = "SELECT Marque FROM produits";
$reponse = mysql_query($sql);

while ($ligne = mysql_fetch_array($reponse)) {
$marques[] = $ligne[0];
}

print_r($marques);
Ajouter un commentaire
Réponse
+0
moins plus
Fais un print_r ou un var_dump sur $ligne, comme ça tu en verras le contenu.
Ajouter un commentaire
Réponse
+0
moins plus
Bonne idée, ca me donne : [0] => Nike [Marque] => Nike

Je cherche qqchose plutot du style : [0] => Nike [1]=>Adidas [2]=>Lacie par exemple, je comprends pas pourquoi ma requette retourne cet array, c'est de ma requête que doit venir l'erreur, mais comment récupérer la liste des marques alors ?
Ajouter un commentaire
Réponse
+0
moins plus
J'avais pas fais gaffe à ta requête, du coup c'est normal que ça marche pas.

Mysql_fetch_array te renvoie une seule ligne de ta requête (en l'occurence la première marque), faut que tu boucles dessus avec un while, si tu veux récupérer l'ensemble des données.

while ($ligne = mysql_fetch_array($reponse)) {
echo $ligne[0];
}
Ajouter un commentaire
Réponse
+0
moins plus
Désolé, je comprends mal, le code que tu m'as donné m'affiche 2 des 3 marques de la colonne, il n'affiche pas la marque de la premiere entrée (Nike).
Voici ma table : http://mexos.free.fr/a/a.jpg

Je cherche à récupérer, avec un while peut-être l'array :
array ( [0] => Nike [1] => Lacie [2] => Cartel-S )

Comment faire (avec le while ou autrement) ? :/ (dsl j'galere un peu)
Ajouter un commentaire
Réponse
+0
moins plus
Woot c'est parfait =). Merci pour ta précieuse aide.
Ajouter un commentaire
Réponse
+0
moins plus
vfvq
Ajouter un commentaire
Ce document intitulé « récupérer valeurs colonne mysql dans array » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?