Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/04/2008, 01h17   #1
Membre du Club
 
Inscription : février 2008
Messages : 152
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : février 2008
Messages : 152
Points : 54
Points : 54
Par défaut Transmission de données multiples.

Bonjour,

Je fait appelle a vous car la je suis un peux larguer, j ai un formulaire qui liste dans une boucle tout les noms d animal que le joueur possède, il peux décider d en vendre en cochant des "checkbox" jusque la tout vas bien.

On arrive donc sur une page de traitement après validation de ses choix qui récupère le nom de chaque animal choisie dans un "foreach" a cette endroit même le joueur entre un prix qu'il définie dans chaque champs.

Et c'est la que sa vas plus, j arrive bien a récupérer les animaux choisi mais pas le prix pour chacun de ces animaux, en faite sa me met le dernier chiffre entrer dans les champs de prix.

Je suppose que cela vient de : (dans name= )

Code html :
<input type='text' name='prix[]' value=''/>

et de mon autre boucle foreach.

Je souhaiterais savoir si il y a pas d autre solution ou si vous pouviez me corriger mon code pour que je puisse récupérer le prix fixer pour chaque animal, je vous montre mon code :

Et je vous remercie pour votre aide.

Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
$choixanimal=$_POST["choixanimal"];//Choix de l animal vendu
$rechoixanimal=$_POST["rechoixanimal"];//Récupération du choix d el animal
 
if($_POST["choixanimal"])//Si on a choisi plusieurs animaux a vendre, on entre le prix de chaque animaux.
{ 
	?><form action='' method='post'><?php
	foreach($choixanimal as $choix)
	{
	$choixdelanimal=$choix;
		echo "<input type='hidden' name='rechoixanimal[]' value='$choixdelanimal'/>";//On sauvegarde le choix des animaux
		echo "Vous avez choisie de vendre <b>".$choix."</b> au prix de : ";?><input type='text' name='prix[]' value=''/><br/><br/><?php
	}
	?><input type="submit" value="Valider"/></form><?php
}
 
elseif($_POST["prix"])//Sinon si on a choisie un prix pour chaque animaux
{
	$prix= $_POST['prix'];//Prix entrer de l animal à vendre
 
	foreach($rechoixanimal as $choix2)
	{
		$nomanimal=$choix2;
			foreach($prix as $prixfixer)
			{
				$prixdelanimal=$prixfixer;
			}
 
			echo "Cette animal : ".$nomanimal." a pour valeur : ".$prixdelanimal."<br/>";
 
	// On met a jour le prix de vente pour chaque animal
	mysql_query("UPDATE animal SET vente='oui', prix_revente='$prixfixer' WHERE pseudo='$pseudo' AND nom='$nomanimal'");
	}
}
dad72 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2008, 01h42   #2
Membre Expert
 
Avatar de darkstar123456
 
Inscription : mars 2008
Messages : 1 180
Détails du profil
Informations personnelles :
Âge : 28
Localisation : Belgique

Informations forums :
Inscription : mars 2008
Messages : 1 180
Points : 1 357
Points : 1 357
Envoyer un message via Skype™ à darkstar123456
Le nombre d'input sur la 2ieme page est dynamique je suppose ?

Pourquoi ne pas écrire quelque chose comme ça :
(si on admet que tes premiers input ont name="animaux[]")
Code php :
1
2
3
4
 
foreach( $_POST["animaux"] AS $value ) {
   echo '<input type="text" name="prix['.$value.']" />';
}

Récupération & affichage :
Code php :
1
2
3
4
5
6
 
foreach( $_POST["prix"] AS $key => $value ) {
   echo "Je vends ".$key." à ".$value." euros.<br />";
   // affichera par exemple : Je vends mon chat à 587891215898765 euros.
   // oui, ça fait cher le chat :P
}
darkstar123456 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2008, 02h09   #3
Membre du Club
 
Inscription : février 2008
Messages : 152
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : février 2008
Messages : 152
Points : 54
Points : 54
Je te remercie beaucoup darkstar123456, j ai réussi en reprenant ton exemple.

Voila ce que j ai fait et c est parfait. Merci encore.


Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
include "connection sql/connection_sql.inc.php";
if($_POST["choixanimal"])// si on a choisi plusieur animaux a vendre, on entre le prix de chaque animaux.
{ 
	?><form action='' method='post'><?php
	foreach($_POST["choixanimal"] AS $value){		
		echo "Vous avez choisie de vendre <b>".$value."</b> pour un prix de : <input type='text' name='prix[".$value."]' value='' /><br/>";
	}
	?><input type="submit" value="Valider"/></form><?php
}
elseif($_POST["prix"])// sinon si on a choisie un prix pour chaque animaux
{
	foreach($_POST["prix"] AS $key => $value ){   
		echo "Vous avez avez vendu cet animal : ".$key." pour une valeur de : ".$value." Markies<br/>";  
		mysql_query("UPDATE animal SET vente='oui', prix_revente='$value' WHERE pseudo='$pseudo' AND nom='$key'");   
	}
}
mysql_close();
?>
dad72 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2008, 10h11   #4
Membre Expert
 
Avatar de darkstar123456
 
Inscription : mars 2008
Messages : 1 180
Détails du profil
Informations personnelles :
Âge : 28
Localisation : Belgique

Informations forums :
Inscription : mars 2008
Messages : 1 180
Points : 1 357
Points : 1 357
Envoyer un message via Skype™ à darkstar123456
Content d'avoir pu t'aider
darkstar123456 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h24.


 
 
 
 
Partenaires

Hébergement Web