Message bizarre "Notice: Undefined offset: 4" liée à la taille d'un index ?

EricLeGrand77 Messages postés 15 Date d'inscription mercredi 12 février 2003 Statut Membre Dernière intervention 14 août 2006 - 31 juil. 2004 à 10:59
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 - 1 août 2004 à 02:07
J'obtiens ces messages...
"Notice: Undefined offset: 4"
"Notice: Undefined offset: 5"
"Notice: Undefined offset: 6"
"Notice: Undefined offset: 7"

... après avoir fait afficher les résultats d'uns requête. J'ai constaté que l'index d'incrémenation automatique était a 8
Hors ma table de test ne contient que 3 enregistrements. Est-ce lié, et si oui comment ne pas faire apparaitre ces messages

Voici le bout de code :
<?PHP
include "connexion.php";
$req="SELECT * FROM `membres`";
$res=mysql_query($req);
if($res)
{
while ($result = mysql_fetch_array($res)){
// j'affiche tous les champs
for($i=0;$i<count($result);$i++){
echo $result[$i];
}
echo "
";
}
}
?>

EricLeGrand

7 réponses

coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
31 juil. 2004 à 11:36
Salut!
Qu'elle est la ligne concernée?

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
EricLeGrand77 Messages postés 15 Date d'inscription mercredi 12 février 2003 Statut Membre Dernière intervention 14 août 2006
31 juil. 2004 à 12:05
la ligne 10 : echo $result[$i];

EricLeGrand
0
defkrie Messages postés 435 Date d'inscription vendredi 20 septembre 2002 Statut Membre Dernière intervention 20 novembre 2004
31 juil. 2004 à 13:31
tu as ce genre de message quand tu demandes une occurence d'un tableau qui n'exitent pas
exemple :
for($i=0;$i<9;$i++){
$tab[$i]=0;
}
echo $tab[11];
provoque le meme type d'erreurs

donc tu as une erreur dans echo $result[$i] dans la valeur de $i
ou plutot count($result)

fais echo count($result); et verifie que le résultat est juste sinon l'erreur est la
\-> Defkrie !?!
0
EricLeGrand77 Messages postés 15 Date d'inscription mercredi 12 février 2003 Statut Membre Dernière intervention 14 août 2006
31 juil. 2004 à 14:04
Ca ne marche pas.
echo count($reseult); me renvoi 3 lignes de "88888888".

je présume que ces 8 correspondent aux nombre correpondant au numéro d'incrément.

Précision complémentaire dans mon premier message j'obtenais au moin un bon résultat. Mais il étatit suivi de ces messages d'erreur.

j'avais pour le premier enregistrement ceci :

"1 himalya chien andrebreton@hotmail.com
Notice: Undefined offset: 4 in d:\program files\easyphp\www\agenda\lecon01.php on line 10

Notice: Undefined offset: 5 in d:\program files\easyphp\www\agenda\lecon01.php on line 10

Notice: Undefined offset: 6 in d:\program files\easyphp\www\agenda\lecon01.php on line 10

Notice: Undefined offset: 7 in d:\program files\easyphp\www\agenda\lecon01.php on line 10"

Idem pour les 2 enregistrements qui suivaient.

EricLeGrand
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
defkrie Messages postés 435 Date d'inscription vendredi 20 septembre 2002 Statut Membre Dernière intervention 20 novembre 2004
31 juil. 2004 à 15:34
le probleme vient du fait qu'au lien que ta boucle affiche les 3 enregistrment elle tente d'en afficher 8 et donc tu obtient une erreur te disant que le tableau n'existe pas au bout de 3 enregistrement.
par contre je ne sais pas comment eviter cela
\-> Defkrie !?!
0
defkrie Messages postés 435 Date d'inscription vendredi 20 septembre 2002 Statut Membre Dernière intervention 20 novembre 2004
31 juil. 2004 à 15:38
<?PHP
include "connexion.php";
$req="SELECT * FROM `membres`";
$res=mysql_query($req);
if($res)
{
while ($result = mysql_fetch_array($res)){

echo count($result).'
';
}
}
?>

verifie que le nombre que renvoie count est juste par rapport au nombre d'élément dans ta table

désolé de pas pouvoir faire plus
\-> Defkrie !?!
0
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
1 août 2004 à 02:07
la solution la plus simple est de specifier les champs dans ton select!

c'est pas joli du tout un "select *"

-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
0
Rejoignez-nous