cs_rocknroll2
Messages postés100Date d'inscriptionvendredi 30 janvier 2004StatutMembreDernière intervention22 janvier 2010
-
16 déc. 2004 à 20:20
cs_rocknroll2
Messages postés100Date d'inscriptionvendredi 30 janvier 2004StatutMembreDernière intervention22 janvier 2010
-
18 déc. 2004 à 16:32
Bonsoir à tous
Petit problème de SELECT dans lequel je voudrais mettre des conditions... si c'est possible.
J'ai 30 variables définies par des boutons radio qui se trouvent donc à oui ou non.
Je fais un schmilblick perso pour l'affichage, ça marche pas mal, même si ce n'est certainement pas l'idéal du PHP. Mais je voudrais conserver le résultat de ma requète pour une autre utilisation et là.... plouf plouf !
Exemple:
Code pour une seule option concernée; j'ai 30 options semblables .
Boutons radios
<td>Nom </td>
<td>
</td>
<td>
</td>
Le choix de l'utilisateur fait que $_POST['nom'] se retrouve à OUI (ou à NON)
Je transforme en variable avec
$nom = htmlentities ($_POST['nom']);
Je fais ensuite un requète sur ma base qui a 30 champs avec:
$query_reponse = "SELECT * FROM selections WHERE pseudo='$nom' ";
Tout fonctionne OK jusque là!
Mais après, lors de l'affichage dans une page PHP, je suis obligé de faire des conditions pour afficher ou non le champs concerné selon le choix initial de l'utilisateur (oui ou non) avec:
tucsoufle
Messages postés1250Date d'inscriptionmardi 15 juillet 2003StatutMembreDernière intervention30 septembre 20071 16 déc. 2004 à 22:10
salut
déjà je suis pas sur que tu ai besoin du htmlentities
fait ça tout simplement : $nom = $_POST['nom'];
pour ta question, je sais qu'il existe une fonction pour faire des
requétes multiples et qui s'appelle "mysqli_multi_query()" mais
je suis désolé je ne sais pas trop comment ça marche.
j'avais vu cette fonction sur nexen.net
bonne chance.
Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
No0ZBeeX
Messages postés14Date d'inscriptionjeudi 19 février 2004StatutMembreDernière intervention17 décembre 2004 17 déc. 2004 à 14:23
Bonjour,
Méthodologie:
# Vérification de l'éxistance de tes variables
-> Si oui, tu rajoutes le champs à afficher.
# Affichage des champs récupérés.
$query_reponse = "SELECT ";
if ( isset($_POST['nom']) ){
$query_reponse .= "nom ";
}
*ainsi de suite*
$query_reponse .= "FROM selections WHERE ";
if ( $_POST['nom'] == 'oui' ){ $query_reponse ."pseudo $nom ";
}
*ainsi de suite*
Tu devrais avoir comme retour uniquement les champs qui ont été cochés.
Il ne te reste plus qu'à faire la boucle d'affichage :
while( $Row = mysql_fetch_array($query_reponse) ){ ?>
cs_rocknroll2
Messages postés100Date d'inscriptionvendredi 30 janvier 2004StatutMembreDernière intervention22 janvier 2010 17 déc. 2004 à 19:55
Reslt No0ZBeeX
J'ai mis mes cellules grise dans ton code...... elles ont chaufées!
Avant tout, une question "générale"...
Quelle raison de faire par exemple:
$query_reponse .= "nom ";
au lieu de
$query_reponse = $query_reponse."nom ";
En fait je ne connais pas encore cette "formulation" de concaténation (puisque je pense que s'en est une... mais je me trompe peut-être!)
Ensuite:
Ta première partie:
$query_reponse = "SELECT ";
if ( isset($_POST['nom']) ){
$query_reponse .= "nom ";
}
pour vérifier l'existence des variables. Est-ce obligatoire (dans ce cas..) puisqu'elles existent toutes mais sont à "oui" ou à "non" car dépendantes de cases d'options (Value="oui" ou Value="non" selon l'état "checked" pour le même "name=..." de l'option).
A+
rocknroll2
Ouais, je serais un Pro du VB6 et du PHP dans 10/15 ans
;)
No0ZBeeX
Messages postés14Date d'inscriptionjeudi 19 février 2004StatutMembreDernière intervention17 décembre 2004 18 déc. 2004 à 13:06
Bonjour,
regarde ce que te donne la requete dans le phpmyadmin, je pense que le résultat est en doublon. Pour palier à cela, rajoute distinct :
query_reponse = "SELECT distinct ";
mise à part cela, je ne vois pas pourquoi tu obtiendrais un doublon ^^
cs_rocknroll2
Messages postés100Date d'inscriptionvendredi 30 janvier 2004StatutMembreDernière intervention22 janvier 2010 18 déc. 2004 à 15:20
=>No0ZBeeX
en fait, après demande d'affichage un peu différentes, il apparaît que la raison des doublons soit:
Un affichage du champ avec un numéro (la clé?), suivi du même affichage avec le nom du champ réel; exemple:
"0 Durand" suivi de "pseudo Durand"
"1 Jean" suivi de "prenom Jean"
etc....
il me semble avoir vu qque part que mysql_fetch_array donnait un tableau numéroté ET associatif. c'est peut-être un début de piste, mais je n'ai pas de solution !!!!!
A+
rocknroll2
Ouais, je serais un Pro du VB6 et du PHP dans 10/15 ans
;)