JeuWeb - Crée ton jeu par navigateur
Récuperer les données des boutons radios - 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 : Récuperer les données des boutons radios (/showthread.php?tid=2675)

Pages : 1 2 3 4 5


Récuperer les données des boutons radios - Jeya - 13-06-2008




RE: Récuperer les données des boutons radios - Stefff - 13-06-2008

Pas le temps de le corriger (et je sais pas si je saurai le corriger, je suis encore un nul en php), mais d'un point de vue théorique, je sais t'expliquer le pourquoi du comment Smile

En réalité, le php est dynamique au niveau de la génération de la page coté serveur.
Etant donné que tu génères ta page puis que tu demandes par après au visiteur de faire son choix, la page est crée, et le php ne bougera plus, sauf en cas de réactualisation.

Une des solutions que je connais est le javascript, qui te permet d'avoir du dynamique sur la page en elle même Smile
Voili voilou, j'espère que c'est clair ^^


RE: Récuperer les données des boutons radios - Eluox - 13-06-2008

Oui, comme l'a dit Stefff, tu dois faire ça en javascript, qui est géré coté client.

Si personne ne t'as aider d'ici ce soir, je tenterais de te faire un petit truc Big Grin

Cordialement,


RE: Récuperer les données des boutons radios - Shivaan Keldon - 13-06-2008

avant de t'aider à résoudre ça, j'aurais quelques questions :

- est-ce que tes villes de départ sont dans la base de données ? ou alors ce sont des données "statiques" qui sont écrites en dur dans la page ?
- ce que tu souhaites, c'est afficher les villes sans recharger la page ? c'est bien ça ?
- as-tu quelques notions de javascript ?

voilà, j'attends tes réponses et je te proposerai une solution Smile


RE: Récuperer les données des boutons radios - Dolphy - 13-06-2008

Tu as deux solutions pour ça qui me viennent à l'esprit.

Première méthode : JavaScript
Tu mets un attribut css "display : none;" sur les champs villages, et une petite fonction sur les boutons radios de ton formulaire lorsqu'on en change la valeur (onChange = javascript:taFonction('idchamp')Wink. Cette fonction changera simplement l'attribut display, et donc affichera les champs.
Un petit exemple :
Code PHP :
<?php 
<script language="JavaScript">
var
villagesAffiches=""; //Contient l'id des boutons affichés
function affichageContextuel(monde)
{
monde = document.getElementById(monde);
if (
monde.style.display !='') //Si les boutons ne sont pas affichés, on les affiches
{
monde.style.display='';
if (
avillagesAffiches!="") //Si on a déjà des boutons d'affichés, on les masque
{
villagesAffiches.style.display = 'none';
}
villagesAffiches = monde;
}
}
</
script>


<
table><tr> <td class="champ">Veuillez choisir votre monde</td>
<
td><input type="radio" name="monde" value="terre" onChange="javascript:affichageContextuel('villages_terre');"/>Terre<br/>
<
input type="radio" name="monde" value="ile" onChange="javascript:affichageContextuel('villages_ile');"/>Mer<br/>
<
input type="radio" name="monde" value="ciel" onChange="javascript:affichageContextuel('villages_ciel');"/>Ciel </td>
</
tr>
<
tr><td></td>
<
td><div id="villages_terres" style="display: none;">
<
input type="radio" name="choix_villages_terre" value="Alpha" />Alpha<br/>
<
input type="radio" name="choix_villages_terre" value="Bravo" />Bravo<br/>
</
div>
<
div id="villages_ile" style="display: none;">
<
input type="radio" name="choix_villages_ile" value="Charlie" />Charlie<br/>
<
input type="radio" name="choix_villages_ile" value="Delta" />Delta<br/>
</
div>
<
div id="villages_ciel" style="display: none;">
<
input type="radio" name="choix_villages_ciel" value="Echo" />Echo<br/>
<
input type="radio" name="choix_villages_ciel" value="Fox" />Fox<br/>
</
div>
</
td>
</
tr>
</
table>

Deuxième méthode : Ajax
Bon comme je ne suis pas encore un pro d'ajax, je vais te conduire vers un petit tuto ou le deuxième exemple est un peu similaire à ta question mais avec des listes de choix plutôt que des check box :
Siddh @ developpez.com


RE: Récuperer les données des boutons radios - Kassak - 13-06-2008

VA voir ça : Javascript

Le tout dernier exemple est exactement ce que tu souhaites faire Wink


RE: Récuperer les données des boutons radios - Sephi-Chan - 13-06-2008

Le mieux est dans ce cas d'afficher tous les cas possibles dans le menu déroulant et de masquer les éléments qui ne correspondent pas au chargement, par Javascript. Ainsi il devient possible d'utiliser le site sans Javascript.

Tu peux par exemple avoir 3 régions A, B et C, qui ont chacun un village a, b, c.

Au chargement de la page, tu affiches donc un menu déroulant avec les 3 régions, puis une liste contenant les 9 choix de villages.

Il suffit ensuite d'appliquer une surcouche Javascript qui, au chargement, capture le numéro de la région est compare pour chaque village s'il est associé à cette région. Si ce n'est pas le cas, ledit élément est masqué. le test est également effectué sur l'événement onchange de la liste des régions.



Sephi-Chan


RE: Récuperer les données des boutons radios - Jeya - 13-06-2008

Donc en gros je peux pas le faire sans Javascript ... j'ai pas encore les connaissances requises pour le faire dommage ^^'
Je peux pas le faire grâce a des "IF" ? Ou sinon je dois utiliser deux pages c'est ca ?


RE: Récuperer les données des boutons radios - Dolphy - 13-06-2008

Si ta question est : Est ce que je peux le faire avec PHP ?

La réponse est non, tout simplement car ton code PHP est exécuté une fois pour toute sur ton serveur, qui envoie ensuite le code HTML au client.
Donc si tu veux modifier le code HTML affiché par le client tu as comme possibilité :
- Recharger la page pour exécuter à nouveau du PHP (ce qui serait complètement idiot de faire dans ton cas)
- Utiliser AJAX pour exécuter du code PHP sans recharger la page (ce qui serait un peu mieux mais somme toute assez inutile)
- Utiliser JavaScript (qui est un langage qui s'exécute sur la machine du client) pour modifier l'affichage.

Donc le plus simple est bien évidemment d'utiliser JavaScript dans ton cas.


RE: Récuperer les données des boutons radios - Ren Nelos - 13-06-2008

A vous lire, attention aux amalgammes.
Précisez bien ou - pour ceux qui ne le sauraient pas déjà - comprenez bien que AJAX n'est pas un langage.

Cordialement,