sabou94
Messages postés158Date d'inscriptionvendredi 12 mars 2004StatutMembreDernière intervention17 avril 2007
-
21 mars 2007 à 17:08
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 2012
-
22 mars 2007 à 11:49
Bonjour,
une petite question, j'ai une appli gerée à partir de mode (passée dans l'url), en gros ca donne if mode=... alors... et en fait je remplis un tableau dans une des conditions (if $mode ==3) et je veux faire un foreach de ce meme tableau dans une autre condition (if $mode==4), mais ca ne marche pas, c'est comme si il ne reconnaissait pas le tableau (Invalid argument supplied for foreach() ) pourtant j'ai déclaré la variable en globale ( global $orderId;)
Alors où est le probleme? ce n'est pas possible de déclarer un tableau global??
Encore merci.
sabrina
A voir également:
"Php variables" "build date" "php version 4.4.6" "server api"
sabou94
Messages postés158Date d'inscriptionvendredi 12 mars 2004StatutMembreDernière intervention17 avril 2007 21 mars 2007 à 17:44
Je fais ca :
if ($mode==3){
for ($quest=1;$quest<=$last;$quest++){
$desc=""".$_SESSION["orderQuestDesc"][$quest].""";
$orderId[$quest]= recupId($dbconnection,$id_quiz, $version1,$desc);
$orderQuest[$quest] = $quest;
}
}
if ($mode==4){
foreach ($orderId as $i)
{
saveOrder($dbconnection,$id_quiz,$version,$orderId[$i],$orderQuest[$i]);
}
}
-> Et ca me donne : Invalid argument supplied for foreach()
sabou94
Messages postés158Date d'inscriptionvendredi 12 mars 2004StatutMembreDernière intervention17 avril 2007 21 mars 2007 à 17:46
Je fais ca :
if ($mode==3){
for ($quest=1;$quest<=$last;$quest++){
$desc=""".$_SESSION["orderQuestDesc"][$quest].""";
$orderId[$quest]= recupId($dbconnection,$id_quiz, $version1,$desc);
$orderQuest[$quest] = $quest;
}
}
if ($mode==4){
foreach ($orderId as $i)
{
saveOrder($dbconnection,$id_quiz,$version,$orderId[$i],$orderQuest[$i]);
}
}
-> Et ca me donne : Invalid argument supplied for foreach()
sabrina
Vous n’avez pas trouvé la réponse que vous recherchez ?
sabou94
Messages postés158Date d'inscriptionvendredi 12 mars 2004StatutMembreDernière intervention17 avril 2007 21 mars 2007 à 17:59
hum, ca me renvoie NULL...
Mais c'est ca le probleme, on dirait qu'il connait pas mon tableau parce qu'il est pas déclaré entre les accolades du mode. Pourtant au début de mon fichier php j'ai mis global $orderId.
cs_morpheus57
Messages postés121Date d'inscriptionvendredi 31 mars 2006StatutMembreDernière intervention30 décembre 2010 21 mars 2007 à 18:16
Le problème est que si mode == 4 alors tu ne rentre jamais dans le premier if($mode == 3). Donc $orderId[$quest]= recupId($dbconnection,$id_quiz, $version1,$desc); ne s'execute pas, donc $orderId n'est pas setté.
sabou94
Messages postés158Date d'inscriptionvendredi 12 mars 2004StatutMembreDernière intervention17 avril 2007 21 mars 2007 à 18:23
Ah ben vi c'est vrai c'est logique. Zut, comment je peux faire? parce que c'est vraiment à cet endroit que je veux faire mon tableau et je l'utilise ensuite quand j'appuie sur un bouton.
Bon ben je vais regarder comment faire, merci beaucoup. Je vais demander de l'aide demain à ma tutrice, elle saura peut etre pour l'autre question.
Encore merci, je te souhaite une bonne soirée!
Voilà mon code, je dois me tromper quelque part :
Remplissage du tableau :
for ($quest=1;$quest<=$last;$quest++){
$desc=""".$_SESSION["orderQuestDesc"][$quest].""";
$_SESSION['orderId'][$quest]= recupId($dbconnection,$id_quiz, $version1,$desc);
$_SESSION['orderQuest'][$quest] = $quest;
}
Utilisation :
foreach ($_SESSION['orderId'][$i] as $element=>$i)
{
saveOrder($dbconnection,$id_quiz,$version+1,$_SESSION['orderId'][$i],$_SESSION['orderQuest'][$i]);
}