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 :

erreur offset parcour tableau [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club Avatar de Shivas
    Inscrit en
    Juin 2004
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 126
    Points : 66
    Points
    66
    Par défaut erreur offset parcour tableau
    bonjour

    je n'arrive pas a afficher tous les resultats de ma table sql quelqu'un peut il me dire ou se trouve l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $nbr =$nbrecette['nbr'];
     
    for ($i=0 ; $i < $nbr ; $i++)
    {
    while (var=mysql_fetch_assoc($result)
    {
    $recette[$i]=$var['nom'];
    }
    echo $recette[$i];
    }
    ce code me retourne qu'un enregistrement puis sur la seconde ligne il me signal undefined offset 1





    [/CODE]

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2008
    Messages : 294
    Points : 333
    Points
    333
    Par défaut
    Je te conseil d'utiliser plutot mysql_fetch_array()

    ce qui donnerai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    while (var=mysql_fetch_array($result))
    {
    $recette[$i]=$var['nom'];
    }

  3. #3
    Membre du Club Avatar de Shivas
    Inscrit en
    Juin 2004
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 126
    Points : 66
    Points
    66
    Par défaut
    merci pour l'info pourquoi il me marque cette erreur
    undefined offset 1

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2008
    Messages : 294
    Points : 333
    Points
    333
    Par défaut
    mysql_fetch_assoc te renvoie la ligne et remet le pointeur au debut des résultats renvoyés.

    Par contre je sais pas ce que doit faire ton code mais la ton recette i va systèmatiquement prendre la même valeur, celle de la dernière ligne de ce que te renverra ta requete SQL.

  5. #5
    Membre du Club Avatar de Shivas
    Inscrit en
    Juin 2004
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 126
    Points : 66
    Points
    66
    Par défaut
    je souhaite afficher tous champs d'une table comment faire pour que le pointeur selectionne tte les lignes

  6. #6
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2008
    Messages : 294
    Points : 333
    Points
    333
    Par défaut
    Si tu veux afficher tous les lignes de ta table il faut faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    while (var=mysql_fetch_array($result))
    {
      echo '<br/>'.$var['nom'];
    }

  7. #7
    Membre du Club Avatar de Shivas
    Inscrit en
    Juin 2004
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 126
    Points : 66
    Points
    66
    Par défaut
    j'ai le meme message d'erreur avec array

  8. #8
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2008
    Messages : 294
    Points : 333
    Points
    333
    Par défaut
    Vérifie que dans ta table tu as un bien un champ qui s'appel 'nom'.

  9. #9
    Membre du Club Avatar de Shivas
    Inscrit en
    Juin 2004
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 126
    Points : 66
    Points
    66
    Par défaut
    oui j'ai bien un champ nom dans mon tableau il m'affiche sur mon tableau la dernier ligne de ma table et sur la seconde ligne undefined offset 1

  10. #10
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2008
    Messages : 294
    Points : 333
    Points
    333
    Par défaut
    Et qu'elle est ton code maintenant? Il faudrait que l'on puisse voir le reste du code.

  11. #11
    Membre du Club Avatar de Shivas
    Inscrit en
    Juin 2004
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 126
    Points : 66
    Points
    66
    Par défaut
    Voici le code complet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
     
    $id = $_SESSION["membre_id"];
     
    $req = "SELECT recette.Nom, recette.Type, categorie.Categorie FROM recette, espace_utilisateur, categorie WHERE espace_utilisateur.id = '$id'
     
     And espace_utilisateur.IdRecette = recette.IdRecette AND categorie.Id= recette.Categorie"; 
     
    $result = mysql_query($req) or die('Erreur SQL !<br>'.$req.'<br>'.mysql_error()); 
     
    $count = mysql_query("SELECT COUNT(recette.Nom) As nbr FROM recette, espace_utilisateur WHERE espace_utilisateur.id = '$id'
     
    ******* ******* ******* ******* ******* ******* And espace_utilisateur.IdRecette = recette.IdRecette"); 
    $nbRecette = mysql_fetch_assoc($count); 
    $nbr = $nbRecette['nbr'];
     
    $i=0; 
    ******* ******* while ($var = mysql_fetch_array($result)){ 
    ******* ******* 
    ******* ******* ******* $recette[$i] = $var['Nom']; 
    ******* ******* 
    ******* ******* ******* 
    ******* ******* 
    ******* ******* ******* $nomtype[$i] = $var['Type']; 
    ******* ******* ******* 
    ******* ******* ******* $nomcat[$i] = $var['Categorie'];} 
    ******* *******
     
    ******* ******* ******* 
    ******* ******* if ($nbr <= 0) 
    ******* ******* echo "<tr><td>Votre panier est vide </ td></tr>"; 
    ******* ******* else 
    ******* ******* { 
    ******* ******* 
    ******* ******* ******* for ($i=0 ;$i < $nbr ; $i++) 
    ******* ******* ******* { 
    ******* ******* 
    ******* ******* ******* echo $recette[$i];***** ******* ******* ******* ******* 
    ******* ******* ******* 
    ******* ******* ******* 
    ******* ******* ******* 
    ******* ******* ******* ?> 
    ******* ******* ******* 
    ******* ******* ******* ******* <tr style="" class=""> 
    ******* ******* ******* ******* ******* <td> 
    ******* ******* ******* ******* ******* ******* <?php echo $recette[$i];?> 
    ******* ******* ******* ******* ******* </td> 
    ******* ******* ******* ******* ******* <td align="center"> 
    ******* ******* ******* ******* ******* ******* <?php echo $nomtype[$i];?> 
    ******* ******* ******* ******* ******* </td> 
    ******* ******* ******* ******* ******* <td align="center"><?php 
    ******* ******* ******* ******* ******* ******* if ($nomcat[$i] == NULL) 
    ******* ******* ******* ******* ******* ******* { 
    ******* ******* ******* ******* ******* ******* ******* echo "NA"; 
    ******* ******* ******* ******* ******* ******* } 
    ******* ******* ******* ******* ******* ******* echo $nomcat[$i];?> 
    ******* ******* ******* ******* ******* </td> 
    ******* ******* ******* ******* ******* <td align="center">10627.18</td> 
    ******* ******* ******* ******* </tr> 
    ******* ******* ******* <?php 
    ******* ******* ******* }

  12. #12
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2008
    Messages : 294
    Points : 333
    Points
    333
    Par défaut
    Et bien c'est normal qu'il te dise undefined offset 1.

    Dans ta boucle while ou tu affectes des valeurs a recette, tu n'incremente pas le i. Du coup tu ne fais que changer les valeurs de recette[0];

    Il faut que tu fasse comme sa dans ton while :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $i=0; 
     while ($var = mysql_fetch_array($result)){ 
     
    $recette[$i] = $var['Nom']; 
     
    $nomtype[$i] = $var['Type']; 
     $nomcat[$i] = $var['Categorie'];
    i++;
    }
    Comme sa cela devrait fonctionner.

  13. #13
    Membre du Club Avatar de Shivas
    Inscrit en
    Juin 2004
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 126
    Points : 66
    Points
    66
    Par défaut
    c est pareil

  14. #14
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2008
    Messages : 294
    Points : 333
    Points
    333
    Par défaut
    ah?!

    Et combien de ligne contient ta table?
    Je vois plus trop la du coup, tu as bien remplacer ton while par sa ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $i=0; 
     while ($var = mysql_fetch_array($result)){ 
     
    $recette[$i] = $var['Nom']; 
     
    $nomtype[$i] = $var['Type']; 
     $nomcat[$i] = $var['Categorie'];
    $i+=1;
    }

  15. #15
    Membre du Club Avatar de Shivas
    Inscrit en
    Juin 2004
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 126
    Points : 66
    Points
    66
    Par défaut
    desole ca fonctionne c'est l'incrementation qui me manquer merci pour ton aide

  16. #16
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2008
    Messages : 294
    Points : 333
    Points
    333
    Par défaut
    Ok, N'oublie pas de mettre le sujet comme résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. erreur sur un tableau
    Par vince2005 dans le forum Langage
    Réponses: 2
    Dernier message: 06/10/2006, 08h09
  2. erreur création de tableau
    Par fabule dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 20/07/2006, 20h36
  3. [JSP]erreur dans parcours d'une table
    Par lcoder dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 06/07/2006, 09h52
  4. pb parcours tableau 2d
    Par baillador dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 15
    Dernier message: 30/03/2006, 16h20

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