IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

mysql_fetch_row écrase mon tableau à chaque itération


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 26
    Par défaut mysql_fetch_row écrase mon tableau à chaque itération
    Bonjour,
    Je fais une requête SELECT qui me renvoi une table à une dimension du style

    Tom
    Sara
    Gérard
    Jean

    Pour récupérer la requête dans un tableau, j'ai écrit ce bout de script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while ($tab[] = mysql_fetch_row ($req)) {}
    En temps normal j'aurai plutot écrit comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while ($tab = mysql_fetch_row ($req)) {}
    Le problème est que dans le dernier cas la sortie d'un var_dump sur ce tableau est
    Quelqu'un sait-il pourquoi mon tableau vaut bool (false), autrement dit comment faire pourque dans le while la variable $tab ne soit pas écrasée par la valeur qui suit.
    Merci

  2. #2
    NoT
    NoT est déconnecté
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 237
    Par défaut
    Salut,

    Je crois que tu devrais te concentrer sur le fonctionnement de la fonction mysql_fetch_row , elle peut renvoyer 2 choses :

    - soit un tableau à une dimension.
    - soit un false dans le cas ou il n'y a pu de ligne à lire.

    A partir de là , il est plus simple et moins confus de faire en 2 étapes

    Car içi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while ($tab[] = mysql_fetch_row ($req)) {}
    au bout d'un moment tu aura while($tab[] = false), et ça on sait pas trop comment PHP va le traiter.
    Tandis que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while ($ligne = mysql_fetch_row ($req)) 
    {
     $tab[] = $ligne;
    }
    Là en faisant d'abord le test puis l'affectation tu es sur que $tab[] ne contiendra pas de valeur false.

    Ca devrait t'aider je penses

  3. #3
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut

    tu le fais où ton var_dump, dans la boucle ou en dehors ?

    Essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while ($tab = mysql_fetch_row ($req)) 
    {
      print_r($tab);
    }
    Si tu n'as rien c'est que ta requête qui n'est pas bonne.

  4. #4
    Membre éclairé
    Avatar de titoon
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 71
    Par défaut
    Sur le plan fonctionnel, le 1er bout de code est bon (mais à priori, le tableau contient des tableau qui contiennent l'info)

    Pour le 2ème bout de code, tu écrases à chaque itération $tab. Or mysql_fetch_array renvoie false quand il n'y a plus de résultat, donc $tab vaut au final false

    Essayes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $tab_prenom = array();
    while ($tab = mysql_fetch_array($req)) {
      $tab_prenom[] = $tab[0]; // où 0 correspond au prénom
    }

Discussions similaires

  1. Réinitialiser objet ou tableau à chaque clic sur mon bouton
    Par mouss4rs dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 22/03/2012, 11h59
  2. J'ai un TH dans mon tableau et j'aimerais faire en sorte qu'
    Par hstlaurent dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 12/09/2005, 17h41
  3. [XHTML 1.0] Transformer mon tableau en div
    Par stailer dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 29/05/2005, 18h50
  4. Réponses: 11
    Dernier message: 28/02/2005, 13h23
  5. [CR] Entête de tableau à chaque page, et tableau...
    Par titelle dans le forum SAP Crystal Reports
    Réponses: 6
    Dernier message: 15/04/2004, 09h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo