Undefined offset: 1 in list.php on line 78 ...

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Undefined offset: 1 in list.php on line 78 ...

Merci

par Invité » 23 août 2007, 09:36

Effectivement en rajoutant isset dans la boucle , je n'ai plus l'erreur , la page s'affiche correctement , j'ai bien toute la liste .

C'etait tout con quoi mais comme toute chose conne , suffit de le savoir ;)

merci

par Sékiltoyai » 22 août 2007, 22:20

Utilise isset pour voir si ta variable, ou ton élément de tableau existe.
Et sinon, si tu fais un foreach, utilises le résultat :
while(isset($arr[$e++]))

par Invité » 22 août 2007, 19:17

Zeus ..
 $e=0;
 echo "<b> $lettre </b><br />"; 
 while($array1[$lettre][$e++])
ben j'ai pas le 1er de la liste ..

Note :

j'ai plusieurs erreurs ( dans le fichier d'origine ) qui se repete :

PHP Notice: Undefined offset: 9
PHP Notice: Undefined offset: 10
PHP Notice: Undefined offset: 7

...

par zeus » 22 août 2007, 18:30

A SAVOIR :
++$e incrémente la variable et réalise le traitement
$e++ réalise le traitement et incrémente la variable

donc
$i = 0;
echo ++$i; // affiche 1
echo $i; // affiche 1

$e = 0;
echo $e++; // affiche 0
echo $e; // affiche 1
Du coup, tu peux faire $e = 0 et remplacer ton ++$e par $e++ ;)

par Invité » 22 août 2007, 18:26

la bdd est une liste alphabetique de nom , de A & Z .
Qui evolue sans cesse , le but du script est de creer un tableau avec la liste classé par Ordre Alphabetique et avec la lettre A , B ... en 1er ligne .

le e++ augmente le compteur e=-1 qui integre les noms dans les cases .

avec e=0 , je rate le 1er nom de chaque lettre .

par mere-teresa » 22 août 2007, 11:47

A quoi sert le ++$e ?
Le message d'erreur est : l'index 1 du tableau n'existe pas, càd : $tab[1] n'existe pas

Undefined offset: 1 in list.php on line 78 ...

par NoWayHome » 22 août 2007, 11:41

Bonjour .

Je me suis fait un petit code php qui genere un tableau avec des entrés d'une bdd .

Mais je me suis rendu compte que j'avais une erreur dans mes fichiers de log .

L'erreur est :

Undefined offset: 1 in list.php on line 78 ...
mysql_connect($host,$user,$password) or die("erreur de connexion au serveur");
mysql_select_db($bdd) or die("erreur de connexion a la base de donnee");
 
$query=mysql_query("SELECT title, aid FROM `section` ORDER BY title"); 
$num=mysql_numrows($query); 
for($i=0;$i<$num;$i++) 
{ 
$n=mysql_result($query,$i,'title'); 
$array1[$n[0]][]=$n;
$array2[$n[0]][]=mysql_result($query,$i,'aid');
}
 
$i=0; $m=0;
foreach($array1 as $lettre=>$arr) 
{
if($m) { echo "</td><td valign=\"top\">"; $m=0; }
 $e=-1;
 echo "<b> $lettre </b><br />"; 
 while($array1[$lettre][++$e])
 {
  echo "<a href='../lien-{$array2[$lettre][$e]}.html'>{$array1[$lettre][$e]}</a><br />";
  $i++;
  if($i%NUM_PER_CASE==0) $m=1;
 }
 echo "<br />"; 
}
?>
la ligne 78 c :
while($array1[$lettre][++$e])
J'ai fait quelques recherche et cet erreur serait du a une generation de tableau trop grande ou trop petite ..
Mais je ne sais pas comment le résoudre vu que mon tableau s'auto adapte en fonction du nombre d'elements de la bdd .

que faire ?
merci