Bonjour à tous,
Je suis en train de construire un formulaire en PHP à partir d'une base de donnée MySQL. L'objectif est de proposer un formulaire de création de personnage pour un jeu de rôle (Shadowrun plus exactement). Les données du jeu sont sur la base de donnée (races, caractéristiques, compétences, capacités spéciales). Le joueur effectue ses choix et le formulaire calcule à chaque validation le nombre de points qu'il lui reste pour faire son personnage. Les données saisies par le joueur ne sont pas envoyées à la base de données mais sont envoyées de nouveau dans le formulaire par le biais de $_GET ce qui permet de faire les calculs des points restants avant d'envoyer à la base de donnée.
Mon problème, car il y a un problème, se situe au niveau des compétences. Les compétences sont divisées en groupes. Chaque groupe est divisé en domaine. Ex : dans le domaine 'Combat', nous avons deux groupes : 'Armes à feu' et 'Combat rapproché', dans le domaine : 'Physique', nous avons trois groupes : 'Athlétisme', 'Furtivité' et 'Plein Air'. Dans le groupe 'Armes à feu', nous avons trois compétences : 'Armes automatiques, 'Fusils' et 'Pistolet'.
Dans le formulaire, je mets en place un classement pour lister les groupes de compétences en fonction de leur domaine. Mais lorsque je veut récupérer les données saisies par le joueur, je n'y arrive pas car le code n'arrive pas à distinguer les groupes selon leur domaine. Le groupe 1 du domaine 1 aura la même valeur que le groupe 1 du domaine 2 et du domaine 3. J'avais pensé mettre un nom spécifique au formulaire pour chaque domaine Ex :mais le problème est que lorsque je veut récupérer les données
Code : Sélectionner tout - Visualiser dans une fenêtre à part name=\"groupe$iddomaine[]\"
ça ne marche pas, il ne reconnait pas $iddomaine comme étant une variable.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $groupe = $_GET['groupe$iddomaine'];
Si mes explications sont claires, que puis-je faire pour obtenir une saisie unique pour chaque groupe ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <?php $groupe = $_GET['groupe']; echo "<fieldset><h2>Compétences</h2>"; $valeur = 0; $req = mysql_query ("SELECT * FROM shad_domaine"); $compteur = 0; while ($compteur < mysql_numrows ($req)) { $nomdomaine = mysql_result ($req, $compteur, "nom_domaine"); $idomaine = mysql_result ($req, $compteur, "id_domaine"); echo "<p><b>$nomdomaine</b></p><p><table>"; $reqgroupe = mysql_query ("SELECT * FROM shad_groupe WHERE id_domaine='$idomaine' ORDER BY nom_groupe"); $compteurgroupe = 0; while ($compteurgroupe < mysql_numrows ($reqgroupe)) { $nomgroupe = mysql_result ($reqgroupe, $compteurgroupe, "nom_groupe"); $idgroupe = mysql_result ($reqgroupe, $compteurgroupe, "id_groupe"); $valeurgroupe = $groupe[$compteurgroupe]; $valeurgroupegen = $valeurgroupe * 4; $gengroupe = $gengroupe + $valeurgroupegen; echo "<tr><td><label><b>$nomgroupe</b> (<i>GC</i>)</label></td>"; echo "<td><input type=\"text\" name=\"groupe[]\" id=\"$idgroupe\" value=\"$valeurgroupe\" size=\"1\"/></td></tr>"; $compteurgroupe++; } echo "</table></p>"; $compteur++; } echo "</fieldset>"; ?>
Partager