Pb en php undefined index

Fermé
Utilisateur anonyme - 28 mai 2003 à 14:55
PhP Messages postés 1770 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 - 1 juin 2003 à 19:28
Bonjour a tous (et a toutes)!
alors j'ai un ptit pb en php :

//j'utilise bcp de fois ce switch donc je l'ai mis en fonction ^_^
function raccourci($i){
switch($i){
case 10:$k="a";break;
case 11:$k="b";break;
case 12:$k="c";break;
case 13:$k="d";break;
case 14:$k="e";break;
case 15:$k="f";break;
default:$k=$i;break;
}
return $k;
}

puis :

function recup($resultat2)
for($i=0;$i<16;$i++){
$k=raccourci($i);
$var="f".$k; //j'ai 16 champs nomme f0,f1,...,ff
print($resultat2[$var]);
}
}

enfin j'appelle la fonction recup dans mon script :

$result=mysql_query("marequete");
$tab=mysql_fetch_array($result);
recup($tab);

et en fait j'ai un message d'erreur au niveau de ma ligne print($resultat2[$var]); qui est "undefined index f0"

pourtant $tab["f0"] me renvoie bien ce que je veux. Mais j'ai quand meme ce message d'erreur.

Quelqu'un pourrait m'expliquer pourquoi svp ?
Merci d'avance.

Bahan

"Close the world..txen eht nepO"
A voir également:

5 réponses

esox_ch Messages postés 770 Date d'inscription mardi 28 janvier 2003 Statut Membre Dernière intervention 14 mars 2007 49
28 mai 2003 à 21:50
puis :

function recup($resultat2)
for($i=0;$i<16;$i++){
$k=raccourci($i);
$var="f".$k; //j'ai 16 champs nomme f0,f1,...,ff
print($resultat2[$var]);
}
}

Je suis pas sur de mon coup, mais je crois qu'il y a une { qui manque apres fonction($resultat2)...

Eternel Questionneur. Seul et Unique membre de la : SPdLM
=> Société Protectrice des Languages Maltraités
0
kerbiche_h Messages postés 5 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 30 décembre 2003
31 mai 2003 à 18:59
Salut je viens de consulter ton exposé :
et je pense qu'on doit rajouter les guillmets ,
dans $resultat2[$var]
pour obtenir $resultat2["$var"] .
Pour indiquer qu'il s'agit de l'index du tableau

la fonction recup sera alors à mon avis

function recup($resultat2)
for($i=0;$i<16;$i++){
$k=raccourci($i);
$var="f".$k; //j'ai 16 champs nomme f0,f1,...,ff
print($resultat2["$var"]);
}
}

bon courage
0
esox_ch Messages postés 770 Date d'inscription mardi 28 janvier 2003 Statut Membre Dernière intervention 14 mars 2007 49
31 mai 2003 à 19:15
Kerbiche, faut m'expliker comment ca se fait qu'il y aie un seul {et 2} dans le code...

Eternel Questionneur. Seul et Unique membre de la : SPdLM
=> Société Protectrice des Langages Maltraités
0
kerbiche_h Messages postés 5 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 30 décembre 2003
1 juin 2003 à 18:29
Salut
c'est une erreur de frappe de ma part j'ai recopier votre code source, et j'ai du me trompre mais dit moi si tu arrive juste en rajoutant juste les guillemet à ton code

au fait la fonction serait
function recup($resultat2)
for($i=0;$i<16;$i++){
$k=raccourci($i);
$var="f".$k; //j'ai 16 champs nomme f0,f1,...,ff
print($resultat2["$var"]);
}
a + bon courage
0

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

Posez votre question
PhP Messages postés 1770 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606
1 juin 2003 à 19:28
Bsr

Y'a une erreur dans le code : il manque une accolade qui indique le début de la fonction avant le for et à la fin

Voilà la bonne syntaxe :

function recup($resultat2) 

{
for($i=0;$i<16;$i++)
{
$k=raccourci($i);
$var="f".$k; //j'ai 16 champs nomme f0,f1,...,ff
print($resultat2["$var"]);
}
}


En plus ca me permet d'utiliser le nouveau style de mise en page : bouton [Code] dans les messages


@+
PhP
[[  The Truth is Out There   ]]
0