Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/04/2008, 13h48   #1
Membre régulier
 
Avatar de camyo
 
Inscription : juin 2004
Messages : 213
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juin 2004
Messages : 213
Points : 70
Points : 70
Par défaut récupération bouton radio

bonjour

j'explique brievement

je bosse sur un back office
y'a une liste d'annonces, une seul doit être sélectionné pour s'afficher en page d'accueil.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php $sql_aff = 'SELECT * from tb_annonces ORDER BY menu_ann'; 
$req_aff = mysql_query($sql_aff) or die('Erreur SQL !<br>'.$sql_aff.'<br>'.mysql_error());
 
while($data_aff = mysql_fetch_assoc($req_aff))
    { 
$id_ann = $data_aff['id_ann']; // id auto increment 
$nom_dept_ann=strtoupper($data_aff['nom_dept_ann']);
$num_dept_ann=$data_aff['num_dept_ann'];
$lieu_ann=$data_aff['lieu_ann'];
$ville_ann=ucfirst($data_aff['ville_ann']);
$si_acc_ann=$data_aff['si_acc_ann']; // booleen
 
echo '<input name="page_accueil" type="radio" value="'.$si_acc_ann.'"'.if($si_acc_ann=="1") {echo " checked=\"checked\" "; }'/> '.$lieu_ann.'<br />';
}
?>
mon soucis, c'est d'afficher l'annonce sélectionné, mais aussi pouvoir la changer ...

donc récupérer la nouvelle valeur sélectionné
et déssélectionné l'ancienne ...

et là... je cale

une idée ?
camyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 15h48   #2
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 686
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 686
Points : 5 453
Points : 5 453
Bonjour

1ere question : est-ce que le code que tu nous donnes est un code qui fonctionne et qui doit être amélioré/complété ou un code qui ne fonctionne pas.

Ensuite, je ne vois pas bien où se situe ton problème : tu as un bouton radio pré-sélectionné, si tu en sélectionnes un autre c'est la valeur de celui-ci qui sera envoyée par le formulaire.
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 16h09   #3
Membre régulier
 
Avatar de camyo
 
Inscription : juin 2004
Messages : 213
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juin 2004
Messages : 213
Points : 70
Points : 70
En fait , non, il ne fonctionne pas

celui là oui :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php $sql_aff = 'SELECT * from tb_annonces ORDER BY menu_ann'; 
$req_aff = mysql_query($sql_aff) or die('Erreur SQL !<br>'.$sql_aff.'<br>'.mysql_error());
 
while($data_aff = mysql_fetch_assoc($req_aff))
    { 
$id_ann = $data_aff['id_ann'];
$nom_dept_ann=strtoupper($data_aff['nom_dept_ann']);
$num_dept_ann=$data_aff['num_dept_ann'];
$lieu_ann=$data_aff['lieu_ann'];
$ville_ann=ucfirst($data_aff['ville_ann']);
$si_acc_ann=$data_aff['si_acc_ann'];
?>
 
<input name="acc_ann" type="radio" value="1"<?php if($si_acc_ann=="1") {echo ' checked="checked"';};?> /> <?php echo $lieu_ann; ?><br />
<?php
}
?>
le problème que j'ai
c'est que j'ai 2 variable a récupérer

la variable a activer
et la variable a désactiver

dans ma table tb_annonces
il y a un champ : si_acc_ann
1 seule entrée de la table doit être sur 1 (booleen)

je rame grave
camyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 16h23   #4
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 686
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 686
Points : 5 453
Points : 5 453
Hum.. En fait, tu as juste besoin de la nouvelle valeur, à condition de passer l'id et non la valeur 1. J'explique :
Par ton bouton radio tu envoie la id de l'annonce à afficher. A l'arrivée du formulaire tu récupères l'id de l'annonce qui aurait du être affichée et tu compares avec celle envoyée par le formulaire :
Si c'est la même pas de problème, tu affiches direct.
Si c'est pas la même, tu mets à jour ta table en mettant à 0 pour l'id précédente et à 1 pour l'id envoyée par le formulaire. Et ensuite tu affiches tout pareil.

Est-ce que c'est clair ?

Autre possibilité tu te moques éperdument de la valeur d'origine, et tu modifies systématiquement le champ si_acc_ann en mettant à 0 l'ancienne valeur et à 1 celle passée par le formulaire (en gros tu zappes le test)
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 16h29   #5
Membre régulier
 
Avatar de camyo
 
Inscription : juin 2004
Messages : 213
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juin 2004
Messages : 213
Points : 70
Points : 70
j'espère que c'est le rhume qui me ramollit le cerveau, car là ...

j'ai honte ...

moi ce que je redoute quand même c'est la lourdeur de la requête pour mettre tout a zero ?

Merci .. je tente ça
camyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h01.


 
 
 
 
Partenaires

Hébergement Web