Invalid argument supplied for foreach

Résolu
WrestlingMan Messages postés 78 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 17 février 2011 - 26 janv. 2010 à 10:50
WrestlingMan Messages postés 78 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 17 février 2011 - 26 janv. 2010 à 17:11
Bonjour !!
J'ai un problème qui me paralyse pour tout mon projet php !!
J'explique !! Dans un formulaire, je saisis diverses infos sur un bénévole, et notamment, la ou les fonctions de cette personne au sein d'une association. Pour cela, j'utilise des cases à cocher comme ceci :

Président
Secrétaire Départemental ect ...

Une fois que l'on enregistre, un requête insert dans une table le numéro du dernier bénévoles enregistré ainsi que le code de la fonction !! Plus il y a de fonctions cocher, plus il y aura d'enregistrement ! Or quand j'exécute la requête voici le message d'erreur apparaissant :

Warning: Invalid argument supplied for foreach() in C:\wamp\www\RestosDuCoeur\Nvo_Benevol_exec.php on line 47

Voici le code correspondant au message d'erreur :

//insertion des fonctions
foreach($_POST['ccf_fonction'] as $mesCases)
{
$insertFonction = "insert into t_foncbene values ($resultat[maxibene], $mesCases);";
//echo($insertFonction);
mysql_query($insertFonction) or die(mysql_error());
}

A savoir que maxibene est le résultat d'une autre requête !!
J'espère que vous pourrez m'aider !!
Merci d'avance

7 réponses

xactise Messages postés 507 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 22 juin 2012 2
26 janv. 2010 à 16:07
Ha bon tu n'avais pas trouver avec ton foreach($ in $) xD

Bref d'ou sors ton $resultat['maxibene'] ?

Balance nous un peu plus de détail la c'est pas compliqué.

voici un exemple :
<form action="" method="post">
Président
Secrétaire Départemental

</form>

<?php
  if(isset($_POST['ccf_fonction']))
  {
    foreach($_POST['ccf_fonction'] as $checkbox)
    {
       // TRAITEMENT
    }
  }
?>


L0rD...
3
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
26 janv. 2010 à 11:01
Salut

Il faut mettre des crochets aux noms des champs pour que ça soit considéré comme un tableau.

Président
Secrétaire Départemental


Mais je doute de la pertinence de cette utilisation... M'enfin bon...

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
0
xactise Messages postés 507 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 22 juin 2012 2
26 janv. 2010 à 11:59
+1 avec neigedhiver il faut rajouter [] au nom de tes checkbox

A savoir également que si la case n'est pas cocher isset() retourne false



L0rD...
0
WrestlingMan Messages postés 78 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 17 février 2011 1
26 janv. 2010 à 13:44
Désolé mais sa ne change rien ac ou sans [] !!
Désormais j'ia juste une erreur parse error !! c tt !!
Il suffisait de remplacer le as par in !!
0

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

Posez votre question
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
26 janv. 2010 à 14:35
LOL

foreach ($traversable as $item){} a toujours été la syntaxe correcte, cf la doc.

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
0
WrestlingMan Messages postés 78 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 17 février 2011 1
26 janv. 2010 à 15:07
foreach($_POST['ccf_fonction'] as $mesCases)
{
$insertFonction = "insert into t_foncbene values ($resultat[maxibene], $mesCases);";
echo($insertFonction);
//mysql_query($insertFonction) or die(mysql_error());
}
Mon code !!
Voici le message d'erreur :
Warning: Invalid argument supplied for foreach() in C:\wamp\www\RestosDuCoeur\Nvo_Benevol_exec.php on line 47

Honnêtement, là je m'en sort plus !! Je n'arrive pas à comprendre mon erreur sachant que j'ai corrigé mon erreur dans le input comme vous me l'aviez dit !!
Pouvez-vous m'aider ??
0
WrestlingMan Messages postés 78 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 17 février 2011 1
26 janv. 2010 à 17:11
Merci beaucoup !!
Sa marche maintenant !! Tu m'enlève une sacré épine du pied !!
Je vais pouvoir continuer mon projet !!
++
0
Rejoignez-nous