Le Foreach

Eléphant du PHP | 424 Messages

28 févr. 2012, 10:20

Bonjour,

J'essai d'utiliser Foreach mais je ne comprend certaines choses.

Quand je fais ceci :
 <?php  
 mysql_select_db($database_SAGIP, $SAGIP);
$lastinsert = $_POST['last'];
$choix = array ($_POST['choix']);
$franchise = array ($_POST['franchise']);
$compagnie = array ($_POST['compagnie']);
foreach($_POST['choix'] as $choix) {

$requete = "INSERT INTO tb_garanties VALUES (0,'".$lastinsert."', '".$choix."', '".$compagnie."', '".$franchise."')";
$resultat = mysql_query($requete);
 		}
//echo "<meta http-equiv=\"refresh\" content=\"2; url=index.php?critere=$critere&msg=ajoutg\">"; ?>
L'insertion se fait correctement pour $choix mais pour $franchise et $compagnie j'ai un Array... cose que je comprend facilement, j'ai donc essayé de rajouter un foreach ( "foreach($_POST['franchise'] as $franchise) {" ) mais ca ne fonctionne pas non plus.

Pourriez vous me dire comment faire pour ajouter la compagnie et la franchise correspondant à choix ?

MErci pour votre aide.
Youpi Youpi Yo !

ViPHP
ViPHP | 2577 Messages

28 févr. 2012, 10:29

foreach($_POST['choix'] as $index=>$choix) {
Et tu utilise $index pour accéder aux autres tableaux.

Eléphant du PHP | 424 Messages

28 févr. 2012, 10:38

J'ai modifié mon code mais il m'enregistre dans ma base les infos en 5 fois...!

Je ne comprend pas...
Youpi Youpi Yo !

ViPHP
xTG
ViPHP | 7331 Messages

28 févr. 2012, 10:45

Montres nous ton code. ^^

Eléphant du PHP | 424 Messages

28 févr. 2012, 10:53

Voila !
<?php  
 mysql_select_db($database_SAGIP, $SAGIP);
$lastinsert = $_POST['last'];
$choix = array ($_POST['choix']);
$franchise = array ($_POST['franchise']);
$compagnie = array ($_POST['compagnie']);
foreach($_POST['choix'] as $index => $choix) {
foreach($_POST['franchise'] as $index => $franchise) {
$requete = "INSERT INTO tb_garanties VALUES (0,'".$lastinsert."', '".$choix."', '".$compagnie."', '".$franchise."')";
$resultat = mysql_query($requete);
 		}
	}
//echo "<meta http-equiv=\"refresh\" content=\"2; url=index.php?critere=$critere&msg=ajoutg\">"; ?>
Merci pour votre aide.
Youpi Youpi Yo !

Eléphant du PHP | 179 Messages

28 févr. 2012, 11:03

Euh la tu vas enregistrer chaque choix pour chaque franchise ( donc le choix sera enregistré autant de fois que tu as de franchise ), c'est ton objectif ?

Eléphant du PHP | 424 Messages

28 févr. 2012, 11:09

Non je souhaite que chaque choix et sa franchise et sa compagnie...
Youpi Youpi Yo !

Eléphant du PHP | 179 Messages

28 févr. 2012, 11:34

Le mieux pour qu'on comprenne bien ce serait que tu nous montres ton formulaire.. car la :)

ViPHP
ViPHP | 2577 Messages

28 févr. 2012, 11:40

Ce que je voulais dire, c'est plutot :
foreach($_POST['choix'] as $index => $choix) {
   $franchise = $_POST['franchise'][$index];
   ...
}

Eléphant du PHP | 179 Messages

28 févr. 2012, 11:55

Ce que je voulais dire, c'est plutot :
foreach($_POST['choix'] as $index => $choix) {
   $franchise = $_POST['franchise'][$index];
   ...
}
Ce système ne marche que pour un type de post construit de façon bien spécifique, pas forcement dans son cas. Pour ça il faudrait voir le formulaire :)

Eléphant du PHP | 424 Messages

28 févr. 2012, 12:26

Merci Thibaud !
Effectivement ça fonctionne parfaitement.

Problème résolu !


MERCI !
Youpi Youpi Yo !

Eléphant du PHP | 179 Messages

28 févr. 2012, 12:34

Merci Thibaud !
Effectivement ça fonctionne parfaitement.

Problème résolu !


MERCI !
Oula ne me remercie pas moi au contraire, je t'aurais fait perdre du temps a me lire ^^.
Je m'incline, Mazarini tu dois être devin =)