[PHP/MYSQL] Updater la valeur des radio dans une base [Résolu]

Updater la valeur des radio dans une base [Résolu] [PHP/MYSQL] - PHP - Programmation

Marsh Posté le 16-08-2011 à 14:48:15    

[:banguy]  
 
Je galère comme pas possible pour mettre à jour la valeur (status) d'un radio.
J'arrive à insérer sa valeur selon s'il est coché ou pas mais j'ai du mal à récupéré cette valeur quand je veux éditer mes enregistrement par exemple.
 
Pour insérer aucune problème :
<input type="radio"  name="mon_radio" value="oui">Oui  
<input type="radio"  name="mon_radio" value="non">Non
puis un INSERT matable ect ..  
 
J'arrive également à récupérer les valeurs de mes radio (ici oui ou non) dans un champs texte sans problème par contre ce qui m'interesse c'est de retrouver ces même radio coché selon comment je les ai enregistré.
 
Quelqu'un aurait une idée comment faire ? j'ai saigné google j'arrive pas à adapter le code que je trouve dans les recherche  [:rabzorgt:1]


Message édité par RabzorGT le 23-08-2011 à 07:11:00

---------------
[VDS] Zalman, CG, HDD, P4 3.2Ghz, Switch .. - [FeedBack] [8800GTX]
Reply

Marsh Posté le 16-08-2011 à 14:48:15   

Reply

Marsh Posté le 16-08-2011 à 15:02:04    

Le principe est d'ajouter un attribut au bouton radio qui est coché. Par exemple, en admettant qu'une variable $radioValue contienne la valeur que tu as inséré en base de données :

Code :
  1. <input type="radio"  name="mon_radio" value="oui" <?php if ($radioValue === 'oui'): ?>checked="checked"<?php endif; ?>>Oui  
  2. <input type="radio"  name="mon_radio" value="non" <?php if ($radioValue === 'non'): ?>checked="checked"<?php endif; ?>>Non


---------------
Mon Feedback !
Reply

Marsh Posté le 16-08-2011 à 15:58:08    

Franchement magnifique ! je te remercie j'ai fait exactement la même chose mais sans les endif tu pourrais me dire à quoi sert le endif ?


---------------
[VDS] Zalman, CG, HDD, P4 3.2Ghz, Switch .. - [FeedBack] [8800GTX]
Reply

Marsh Posté le 17-08-2011 à 09:58:00    

En fait, moi j'ai pour habitude :
- Quand je suis dans un fichier PHP complet, par exemple une classe, d'utiliser la syntaxe normale.

Code :
  1. if ($test) {
  2.  
  3. }


- Quand je suis dans un fichier de template (c'est à dire affichage d'html mélangé avec du PHP), j'utilise la syntaxe alternative, qui ne contient pas d'accolades.

Code :
  1. if ($test):
  2.  
  3. endif;


L'accolade ouvrante est remplacée par ':', et l'accolade fermante est remplacée par un 'endif;' afin que le parser sache ou s'arrête ton bloc de code executé quand le test est vrai.
 
Plus d'informations ici : http://php.net/manual/fr/control-s [...] syntax.php


---------------
Mon Feedback !
Reply

Marsh Posté le 17-08-2011 à 10:08:45    

Tout simplement ! merci à toi encore.

 

Une dernière chose,

 

Par defaut aucune case n'est coché et c'est ce que je veux, quand j'envoie mon formulaire ca va mais si j'essaye d'éditer l'enregistrement j'ai une erreur comme quoi ma var (radioValue) est vide ce qui est normal, j'ai essayé de contourner le problème avec un champs hidden je n'ai plus d'erreur mais du coup mes 2 cases "oui" et "non" ne récupèrent jamais la valeurs qu'elles ont dans la base .. une idée pour forcer l'enregistrement de la variable même si elle est vide  ? :(


Message édité par RabzorGT le 17-08-2011 à 10:11:31

---------------
[VDS] Zalman, CG, HDD, P4 3.2Ghz, Switch .. - [FeedBack] [8800GTX]
Reply

Marsh Posté le 17-08-2011 à 14:02:25    

Est-ce que tu peux m'indiquer précisément l'erreur qui apparait s'il te plait ? J'ai du mal à saisir si c'est une erreur qui vient de PHP ou de ta base de données d'après ce que tu viens de me dire.


---------------
Mon Feedback !
Reply

Marsh Posté le 17-08-2011 à 14:55:43    

Dans le code ci dessous les 2 radio sont non coché par défaut, quand je valide mon formulaire ca stock une valeur vide dans la base, jusque là ok. via une autre page j'édite cet enregistrement et là quand je valide la modification j'ai une erreur php

 

Notice: Undefined index: declarationcmdb in C:\Program Files\EasyPHP\www\modification3.php on line 52

 
Code :
  1. <input type="radio"  name="declarationcmdb" value="oui" <?php if (($result->declarationcmdb === 'oui')): ?>checked="checked"<?php endif; ?>>Oui
  2. <input type="radio"  name="declarationcmdb" value="non" <?php if (($result->declarationcmdb === 'non')): ?>checked="checked"<?php endif; ?>>Non
 

C'est ca que je voudrais éviter.

 

Pour l'instant j'ai contourné le problème en rajoutant un autre input "Non applicable" coché par défaut comme ca j'ai pas d'erreur.

 

J'aurais bien voulu m'en passer pour ne laisser que les 2 radio "oui" et "non" non cochés par défaut et sans avoir des erreur comme quoi la variable $declarationcmdb est vide.

Code :
  1. <input type="radio"  name="declarationcmdb" value="oui" <?php if (($result->declarationcmdb === 'oui')): ?>checked="checked"<?php endif; ?>>Oui
  2. <input type="radio"  name="declarationcmdb" value="non" <?php if (($result->declarationcmdb === 'non')): ?>checked="checked"<?php endif; ?>>Non
  3. <input type="radio"  name="declarationcmdb" value="nonparametre" <?php if (($result->declarationcmdb === 'nonparametre')): ?>checked="checked"<?php endif; ?> style="margin-left:14px;">Non applicable
 

J'espère que je me suis bien exprimé cette fois ci  [:rabzorgt:4]


Message édité par RabzorGT le 17-08-2011 à 14:57:20

---------------
[VDS] Zalman, CG, HDD, P4 3.2Ghz, Switch .. - [FeedBack] [8800GTX]
Reply

Marsh Posté le 19-08-2011 à 09:25:51    

:sweat:


Message édité par RabzorGT le 19-08-2011 à 09:26:12

---------------
[VDS] Zalman, CG, HDD, P4 3.2Ghz, Switch .. - [FeedBack] [8800GTX]
Reply

Marsh Posté le 22-08-2011 à 12:36:58    

Ok, je comprends mieux.
 
Alors je te suggère dans ce cas :

Code :
  1. <input type="radio"  name="declarationcmdb" value="oui" <?php if (isset($result->declarationcmdb) && $result->declarationcmdb === 'oui'): ?>checked="checked"<?php endif; ?>>Oui
  2. <input type="radio"  name="declarationcmdb" value="non" <?php if (isset($result->declarationcmdb) && $result->declarationcmdb === 'non'): ?>checked="checked"<?php endif; ?>>Non


 
Ça devrait fonctionner comme ça.


---------------
Mon Feedback !
Reply

Marsh Posté le 23-08-2011 à 07:10:39    

Merci à toi t'as répondu à toutes mes questions ;)
 
@++ et vive les forum !


---------------
[VDS] Zalman, CG, HDD, P4 3.2Ghz, Switch .. - [FeedBack] [8800GTX]
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed