begin process at 2012 05 30 19:12:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

des IF dans SELECT ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

des IF dans SELECT ?

jeudi 16 décembre 2004 à 20:20:03 | des IF dans SELECT ?

rocknroll2

Membre Club
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><span class="Style2">Nom </span></td>
<td><span class="Style2"><div align="center" class="Style2"><input type="radio" name="nom" value="oui"></div></span></td>
<td><span class="Style2"><div align="center" class="Style2"><input type="radio" name="nom" value="non" checked></div></span></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:

if($nom=="oui"){echo '<td bgcolor="#CCCCCC"><span class="Style5"><div align="center">'.$row['pseudo'].'</div></span></td>';}

Pour eviter cela, il y a peut-être la possibilité de modifier directement la requête elle-même pour n'avoir que les champs concernés, dans le genre:

$query_reponse = "SELECT pseudo si $nom='oui', adresse si $adresse='oui'??(30 fois)??. FROM selections";

Cela me permettrait de conserver $query_reponse pour un autre traitement

Si qqu'un a une idée lumineuse.....

A bientôt
rocknroll2


Ouais, je serais un Pro du VB6 et du PHP dans 10/15 ans
;)
jeudi 16 décembre 2004 à 22:10:59 | Re : des IF dans SELECT ?

tucsoufle

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

vendredi 17 décembre 2004 à 13:05:03 | Re : des IF dans SELECT ?

rocknroll2

Membre Club
Je vais voir, merci Tucsoufle;

Si qu'un a 1 autre idée... je coince toujours !

A+

Ouais, je serais un Pro du VB6 et du PHP dans 10/15 ans
;)
vendredi 17 décembre 2004 à 14:23:52 | Re : des IF dans SELECT ?

No0ZBeeX

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) ){ ?>

<tr>
<?
foreach($Row as $key => $value){
echo '<td>' . $value . '</td>';
}
?>
</tr>
<? } ?>
vendredi 17 décembre 2004 à 19:33:02 | Re : des IF dans SELECT ?

rocknroll2

Membre Club
slt No0ZBeeX

ouf! cà me parait compliqué à première vue, mais je vais étudier ça de près; je ne comprends pas tout mais je vais assimiler!

Je te tiens au courant et merci pour ta réponse

A+ et bonne prog

Ouais, je serais un Pro du VB6 et du PHP dans 10/15 ans
;)
vendredi 17 décembre 2004 à 19:55:55 | Re : des IF dans SELECT ?

rocknroll2

Membre Club
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
;)
vendredi 17 décembre 2004 à 23:43:07 | Re : des IF dans SELECT ?

rocknroll2

Membre Club
Re..Re..slt No0ZBeeX

Bon, j'ai étudier ta sol, je l'ai mise en pratique et adaptée àtoutes mes variables.

Cà marche, mais2 fois plus qu'espéré.....
En effet, dans l'affichage, j'ai systématiquement 2 fois la même variable affichée...... ??????????
genre:

Durand Durand homme homme.......

solution éventuelle ? car malgré qques bidouilles, pas moyen !

@+

rocknroll2



Ouais, je serais un Pro du VB6 et du PHP dans 10/15 ans
;)
samedi 18 décembre 2004 à 13:06:55 | Re : des IF dans SELECT ?

No0ZBeeX

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 ^^
samedi 18 décembre 2004 à 14:57:48 | Re : des IF dans SELECT ?

rocknroll2

Membre Club
OKI, je regarde ça.

a+

Ouais, je serais un Pro du VB6 et du PHP dans 10/15 ans
;)
samedi 18 décembre 2004 à 15:20:48 | Re : des IF dans SELECT ?

rocknroll2

Membre Club
===>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
;)

1 2

Cette discussion est classée dans : php, champs, select, query, oui


Répondre à ce message

Sujets en rapport avec ce message

PHP My Sql SELECT [ par RDLG2A ] Bonjour à tous.Je voudrais interroger une base de données pour vérifier l'existence d'une information, tout en ne sachant pas si elle existe.En local, formulaire php/mysql [ par g_marvin ] bonjourj'ai fait un formulaire php ou j'ai plusieurs champs + les champs identifiant et nom qui sont des listes déroulante, et je voudrais si l'utilis recupération d'une variable js dans php [ par scarlbinoche ] un select qui recupére son contenu d'une requete sql selon la value d'un premier select mais le souci est au niveau de la recupération du value du pr Help !!! probleme de connection BDD et affichage dans une pasge php [ par chapata ] Bonjour a tous,J'ai installer EasyPHP en début de semaine et je me suis mit depuis peu aux BDD (mysql et php), et j'ai une question pour vous :J'ai cr listbox [ par refkaben ] Bonjour à tous!J'ai un pb avec les listes box,En fait j'ai deux listes, j'ai rempli la première(secteur) à partir d'une requete select, maintenant je erreur php [ par MisterRack ] Bonjour à tous ! J'ai un petit problème... Voila en fait j'ai créé un fichier config.ini dans lequel j'ai inscrit la variable suivante : $body = " Retrouver un texte dans un champs [ par cedriclomb ] Bonjour,(je commence le php alors si vous pouviez expliquez les codes ce serai sympa merci)Je cherche comment faire pour que lorsque php récupère le v While...oui mais pas tout while ! [ par rocknroll2 ] Bonsoir à tous,Je me lance dans le PHP/SQL. Bon j'arrive à pas mal de chose en cherchant sur ce forum, mais je bute sur un truc incompréhensible pour requete SELECT sous php [ par Maitre_Gonzo ] Bonjour tout le mondeJ'essaye actuellement de mettre en place un systeme de renvoi de mot de passe via email et pour cela j'ai créer une page de test Formulaire : Nom de champs directement transformé en variable [ par fluR ] Bonjour, j previens j suis un noob en php,je suis les exercicss d'un livre pour apprendre les bases de php avant de m envoler moi meme ds mes propres


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,154 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales