JeuWeb - Crée ton jeu par navigateur
[RESOLU]Prob formulaire / mysql - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [RESOLU]Prob formulaire / mysql (/showthread.php?tid=5060)



[RESOLU]Prob formulaire / mysql - jldbaro - 05-08-2010

Bonjour à tous,

J'ai un problème dans un formulaire d'organisation des unités.

Ma base de donnée est construite de la manière suivante:

1) Unités:

- Id_unique (int) ( Un numéro unique de l'armée)
- Id_joueur (int) (A qui appartient l'armée)
- Id_unite (int) ( Contient le types_unites ci-dessous)
- Quantite(int)
- Armee(int) (Attaque, off, réserver, bombardement,...)
- ...

2) types_unites

- Id(int)
- Nom
- Force
- ...

Ci-dessous comment la page organisation fonctionne.

[Image: im_lf.jpg]

Mon problème est le suivant.

Je ne sais pas comment récupérer le nombre d'unités à transférer en réserve (par exemple).

J'ai un formulaire actuellement et pour le champ quantité:

Code PHP :
<?php 
<td><input type="text" style="width:58px;" name="<?php echo $donnees2['Id_unique'];?>" value=""></td>

Et pour le champ Armée:
Code PHP :
<?php 
<td><select style="width:237px;" name="<?php echo $donnees2['Id_unique'];?>"><option selected="selected" value="1">Offensive</option><option value="2">Défensive</option><option value="3">Réserve</option><option value="4">Commerce</option><option value="5">Bombardement stratégique</option><option value="6">Bombardement tactique</option></select></td>

Je suis vraiment bloqué, merci à tous pour votre aide.


RE: Prob formulaire / mysql - niahoo - 05-08-2010

Faut que tu nous montre le code qui récupère le formulaire aussi


RE: Prob formulaire / mysql - jldbaro - 05-08-2010

Il y a rien c'est pour ça que je suis bloqué.

Je ne sais pas comment récupérer le champs Name et sa valeur.


RE: Prob formulaire / mysql - niahoo - 05-08-2010

le champ name tu dois le connaître à l'avance, ou scanner tous les champs pour reconnaître une chaîne de caractères par exemple


RE: Prob formulaire / mysql - Myrina - 05-08-2010

il faut mettre un tableau dans le champ name:

Code PHP :
<?php 
<td><input type="text" style="width:58px;" name="quantite[<?php echo $donnees2['Id_unique'];?]>" value=""></td>

ensuite, pour la récupération, une petite boucle:
Code PHP :
<?php 
foreach ($_POST['quantite'] as $key => $val)
{
.
.
.
}



RE: Prob formulaire / mysql - jldbaro - 05-08-2010

Desolé, je me suis mal exprimé.

Je voulais dire le champ quantité et armée:

Tu vas avoir par exemple:

Name=4424274 Value"100"
Name=4424274 Value"5"

Je peux pas commencer à tout scanner.

Je pense que le plus simple serait de mettre les valeurs dans un tableau avec un foreach. Ce tableau aurait trois champs:
Id_unique, quantité, armée.

Mais je cale
(05-08-2010, 10:11 AM)Myrina a écrit : il faut mettre un tableau dans le champ name:

Code PHP :
<?php 
<td><input type="text" style="width:58px;" name="quantite[<?php echo $donnees2['Id_unique'];?]>" value=""></td>

ensuite, pour la récupération, une petite boucle:
Code PHP :
<?php 
foreach ($_POST['quantite'] as $key => $val)
{
.
.
.
}

C'est ce que j'ai essayé de faire mais je n'arrive pas a récupérer mes trois champs Id_unique, quantité, armée.


RE: Prob formulaire / mysql - Myrina - 05-08-2010

il faut alors faire pareil pour les deux

Code PHP :
<?php 
<td><input type="text" style="width:58px;" name="quantite[<?php echo $donnees2['Id_unique'];?>]" value=""></td>
<
td><select style="width:237px;" name="armee[<?php echo $donnees2['Id_unique'];?>]"><option selected="selected" value="1">Offensive</option><option value="2">Défensive</option><option value="3">Réserve</option><option value="4">Commerce</option><option value="5">Bombardement stratégique</option><option value="6">Bombardement tactique</option></select></td>

ensuite, pour la récupération, une petite boucle:
Code PHP :
<?php 
foreach ($_POST['quantite'] as $key => $val)
{
if (
intval($val)>0) {
//Si j'ai une quantité, alors je recherche l'armée choisie
$armee=intval($_POST['armee'][$key]);
.
.
}
.
.
}

NB: code non testé

EDIT: petite correction dans le HTML ?]> => ?>] :heuuu:


[RESOLU]RE: Prob formulaire / mysql - jldbaro - 05-08-2010

Merci je test ça ;-)
Cela fonctionne parfaitement bien ;-)

Oui j'avais remarqué pour le problème de balise. ;-)

Un tout grand merci. Depuis des jours que je calais dessus ;-)