[Debut.] Reaffichage de donnes dans radio-boutons

Eléphant du PHP | 72 Messages

03 août 2005, 16:00

Boujour,
J'implante de nouvelles fonctions sur un formulaire de base de donnees.
Une en particulier, ou je reaffiche une saisie existante et ou j'ai des radio-boutons.

Est-ce que vous auriez un exemple pour cela (et aussi pour un questionnaire check-box) quelque part.

J'ai bricole le fragment de code suivant en m'inspirant de tuto (pas tres adhequoi) trouve sur le net. Mais cela ne marche pas.

Code : Tout sélectionner

<input type="radio" name="mein_Feld" value="z" <?php if($chTemp_5=="z") echo " ?> CHECKED <?"; ?> />Option 1 : officiell freigegeben<br /> <input type="radio" name="mein_Feld" value="y" <?php if($chTemp_5=="y") echo " ?> CHECKED <?"; ?> />Option 2 : inoffiziell<br />
Comment est-ce que je peux reparer ca.

D'avance merci

Mammouth du PHP | 19672 Messages

03 août 2005, 16:11

TIens, télécharge un formulaire modèle maison, tu trouveras tout ça expliqué dedans, il est commenté.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 72 Messages

03 août 2005, 16:41

Etrange

Je crois qu'il y a un truc un peu bizarre. La balise de l'input est fermme deux fois.

Code : Tout sélectionner

<input type="radio" name="lang" value="anglais" ><?php if ($lang=="anglais"){print "checked=\"checked\"";} ?> /> Anglais<br /> <input type="radio" name="lang" value="allemand" ><?php if ($lang=="allemand"){print "checked=\"checked\"";} ?> /> Allemand<br /> <input type="radio" name="lang" value="italien" ><?php if ($lang=="italien"){print "checked=\"checked\"";} ?> /> Italien</p></td>
Une fois a la fin de
<input type="radio" name="lang" value="anglais" >
Et l'autre juste apres le print
{print "checked=\"checked\"";} ?> />
Est-ce juste?

Et je n'arrive pas a le faire marche malgre le fait que ma variable contienne la bonne valeur

Mammouth du PHP | 19672 Messages

03 août 2005, 16:57

tu as raison, il suffit de faire sauter le >, il serait temps que je faisse une mise à jour de ce fichier... :-k

[Edit >>] à moins que tu n'aies mal copié, voici telle quelle copie du même fichier que j'ai moi même téléchargé pour être sûr d'avoir le même:
        <p><input type="radio" name="lang" value="français" <?php if ($lang=="français"){print "checked=\"checked\"";}?> /> Français<br />
        <input type="radio" name="lang" value="anglais" <?php if ($lang=="anglais"){print "checked=\"checked\"";} ?> /> Anglais<br />
        <input type="radio" name="lang" value="allemand" <?php if ($lang=="allemand"){print "checked=\"checked\"";} ?> /> Allemand<br />
        <input type="radio" name="lang" value="italien" <?php if ($lang=="italien"){print "checked=\"checked\"";} ?> /> Italien</p>
Et là, les balises sont normales...
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 72 Messages

03 août 2005, 17:07

En fait, en effacant le > ca marche tres bien.
Je viens de voir ton dernier message, merci pour la patience.

Je vais me lance avec les check box d'ici ce soir .

Merci encore

Marc_3

Mammouth du PHP | 19672 Messages

03 août 2005, 17:09

On considère comme [Résolu] :?:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 72 Messages

03 août 2005, 18:26

Bon attendons un peu je viens de lire le code pour chek-box et c'est vrai que cela est la meme question.

j'ai pluche la fonction et je crois avoir compris que elle est appelle par les if() a travers le code "(test("Classique"))" dans le cas suivant

Code : Tout sélectionner

<?php if(test("Classique")){echo " checked=\"checked\"";} ?>
Ici le nom de parametre de la fonction est $choix.
Est-ce que je dois le emplace avec le string que je recois de la BdD mySQL.

Pour moi le string s'appelle $chTemp_6

Pour la variable globale "global $musik;" j'ai aussi utilise le nom des check-box. Ce qui donne $mein_C_Box.

Code : Tout sélectionner

function test($chTemp_6) { global $mein_C_Box; for ($i = 0; $i < count($mein_C_Box); $i++) if($chTemp_6==$mein_C_Box[$i]) return true; }
J'ai beaucoup de doute si tu peux m'eclairer un peu ca serai gentil

juste pour precise un peu mes chekbox sont declare ainsi

Code : Tout sélectionner

<input type="checkbox" name="mein_C_Box[]" value="b" <?php if(test("b")){echo " checked=\"checked\"";} ?> /><b>: HTML</b>

Mammouth du PHP | 19672 Messages

03 août 2005, 18:37

Ben regarde bien : chaque input a un attribut name: moi, j'ai utilisé musik[], tu peux utiliser celui que tu veux en fait. Mais il est important si tu le changes de le récupérer correctement lors du traitement. Donc tu feras $nom_de_ta_variable = $_POST['nom_de_ton_champ'] : après, en utilisant une fonction quelle qu'elle soit, si tu dois envoyer un paramètre, envoie le bon avec le nom de variable correspondant.

Est-ce que ça te parait moins compliqué comme ça ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 72 Messages

03 août 2005, 19:26

IL y a une chose qui m'echappe c'est la variable (ou parametre) $choix ou est il defini et quesqu'il represente

Mammouth du PHP | 19672 Messages

03 août 2005, 19:43

$choix est un nom de variable arbitraire qui est initialisé lors de l'appel de fonction ici :
        <p><input type="checkbox" value="Classique" name="musik[]"<?php if(test("Classique")){echo " checked=\"checked\"";} ?> /> Classique<br />
        <input type="checkbox" value="Populaire" name="musik[]"<?php if(test("Populaire")){ echo " checked=\"checked\"";} ?> /> Populaire<br />
        <input type="checkbox" value="Rock&Roll" name="musik[]"<?php if(test("Rock&Roll")){ echo " checked=\"checked\"";} ?> /> Rock&Roll<br />
        <input type="checkbox" value="Newage" name="musik[]"<?php if(test("Newage")){ echo " checked=\"checked\"";} ?> /> Newage<br />
        <input type="checkbox" value="Pas de musique" name="musik[]"<?php if(test("Pas de musique")){ echo " checked=\"checked\"";} ?> /> Pas de musique</p>
Pour chaque case à cocher, j'appelle la fonction en lui envoyant un paramètre qui initialise la variable $choix. par exemple if(test("Classique")) lavariable $choix prend la valeur "Classique" le temps de l'exécution des instructions de la fonction. Pour la case suivante, même chose avec la valeur "Populaire", etc...
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 72 Messages

04 août 2005, 10:13

Je crois que je dois prendre le probleme autrement . Je ne sais pas ecrire la fontion comme tu le fais et en plus je crois que le cas est un peu different . Voila le probleme:

a) Je recois de ma BdD un string d'un ensemble set c.a d. au maximum quelque chose comme a,b,c,d,e,f.

b) Je dois decode ce string pour sortir chaque index a ou b ou c etc qui correspond parametre value de mon c_Box.

Code : Tout sélectionner

<input type="checkbox" name="mein_C_Box[]" value="a" <?php if($letter == "a"){echo " checked=\"checked\"";} ?> /><b>: L<sup>A</sup>T<sub>E</sub>X</b> <input type="checkbox" name="mein_C_Box[]" value="b" <?php ...... <input type="checkbox" name="mein_C_Box[]" value="c" <?php ...... jusqua f
J'arrive en fait a faire cette operation qui marche avec le code suivant:

Code : Tout sélectionner

$start = 0; $end = strlen ($chTemp_7); while ($start<$end){ $letter = $chTemp_7{$start}; $start = $start + 2; }
Mais je n'arrive pas a trouve la syntax pour faire une fonction du code de boucle while. Cela sera tres pratique (pour pas dire indispensable) si je pouvais comme dans ton exemple appeler cette boucle directement depuis
le if () suivant:

Code : Tout sélectionner

<?php if($letter == "a"){echo " checked=\"checked\"";} ?> <?php if(test("a")){echo " checked=\"checked\"";} ?>
Comme tu vois cela fait de plus en plus de question

Mammouth du PHP | 19672 Messages

04 août 2005, 10:19

Tu devrais explorer la fonction explode()
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 72 Messages

06 août 2005, 09:56

Bonjour,

Pour finir avec le sujet ceci est la solution que j'ai trouve pour resoudre mon probleme.

Certe pas tres elegante mais je ne sais pas ecrire une fonction en php et je n'ai malheureusement qu'un temps tres limite a consacre a cela.

Code : Tout sélectionner

<input type="checkbox" name="mein_C_Box[]" value="f" <?php $start = 0; $end = strlen ($chTemp_7); while ($start<$end){ $letter = $chTemp_7{$start}; $start = $start + 2; if($letter == "f"){echo " checked=\"checked\"";} } ?> /><b>: JAVA</b>
Probablement a bientot sur PHP pour en finir a ce moment la avec ce nouveau et autre sujet

Encore merci pour l'aide

Marc_3