Mysql_fetch_assoc et foreach. Mauvaise combo?
Résolu/Fermé
Miimidedel
Messages postés
345
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
5 juin 2019
-
21 sept. 2012 à 09:30
Miimidedel Messages postés 345 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 5 juin 2019 - 21 sept. 2012 à 11:13
Miimidedel Messages postés 345 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 5 juin 2019 - 21 sept. 2012 à 11:13
A voir également:
- Mysql_fetch_assoc et foreach. Mauvaise combo?
- Foreach mysql ✓ - Forum MySQL
- Get-appxpackage -allusers | foreach {add-appxpackage -disabledevelopmentmode -register “$($_.installlocation)appxmanifest.xml”} - Forum Windows 8 / 8.1
- Combo cleaner avis - Forum loisirs/vie pratique
- Combo box word - Forum Word
- Meilleur combo mario kart wii - Forum Wii
1 réponse
Utilisateur anonyme
21 sept. 2012 à 10:33
21 sept. 2012 à 10:33
Bonjour
1 Pourquoi une ligne ? Parce que tu appelles mysql_fetch_array une seule fois, et que mysql_fetch_array rend une seule ligne à la fois.
2 Pour(quoi?) toutes les colonnes ?
Non, tu ne vois bien que les colonnes demandées. Mais tu vois chacune deux fois, car mysql_fetch_array te rend un tableau où chaque colonne apparaît deux fois : une avec une clé numérique, une avec le nom de la colonne comme clé. Utilise mysql_fetch_assoc pour ne pas avoir les clés numériques.
3 Pourquoi une seule lettre ?
Parce que ton foreach balaye les mots d'une ligne, pas les lignes successives (cf 1). $row['page_name'] désigne alors la 1ère lettre du mot
$query = mysql_query($select_page); while ($resultats = mysql_fetch_array($query)) { echo "Nom page : ".$resultats['page_name']. " et chemin : ".$resultats['chemin']; }
1 Pourquoi une ligne ? Parce que tu appelles mysql_fetch_array une seule fois, et que mysql_fetch_array rend une seule ligne à la fois.
2 Pour(quoi?) toutes les colonnes ?
Non, tu ne vois bien que les colonnes demandées. Mais tu vois chacune deux fois, car mysql_fetch_array te rend un tableau où chaque colonne apparaît deux fois : une avec une clé numérique, une avec le nom de la colonne comme clé. Utilise mysql_fetch_assoc pour ne pas avoir les clés numériques.
3 Pourquoi une seule lettre ?
Parce que ton foreach balaye les mots d'une ligne, pas les lignes successives (cf 1). $row['page_name'] désigne alors la 1ère lettre du mot
21 sept. 2012 à 11:13
Ton bout de code vérifie aussi ce que j'ai trouvé.