Requete par rapport a des champs choisis

cs_niko14 Messages postés 209 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 10 octobre 2014 - 23 mars 2006 à 10:27
cs_niko14 Messages postés 209 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 10 octobre 2014 - 23 mars 2006 à 14:51
Salut tous les programmeurs (euses)!!
Voila ma question!
en fait je voudrias faire une requete sql pour recuperer des champs concernant des communes, mais cette requete je voudrais la faire par rapport a des champs choisis par l'intermediaire de case a cocher, que j'enverrai!
Au cas ou , je m'explik mieux en fait j'ai un formulaire je choisis les champs que je veux afficher ds mon tableau avec le nom obligatoire puis si je veux je choisis le nb d'habitants de la commune, le tel de la mairie, le fax.....
Vous voyez ce que je veux dire?
et apres selon ce que j'ai choisi j'affiche tout ca ds un tableau html...
merci d'avance!

Niko14

24 réponses

raven44 Messages postés 315 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 21 mars 2011 1
23 mars 2006 à 10:51
T'es cases a cocher prenne des valeurs quand tu les coches true ou false !!

dans ta requete, il faut que tu verifie si t'es case a cocher sont a true ou false et que tu l'execute en consequence !!
0
cs_niko14 Messages postés 209 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 10 octobre 2014
23 mars 2006 à 10:58
tu ne veux pas me mettre un exemple stp?
parce que je vois a peu pres mais apres le faire comme ca je ne sais pas trop
merci d'avance

Niko14
0
raven44 Messages postés 315 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 21 mars 2011 1
23 mars 2006 à 11:01
Met donc un bout de ton code, il me faut plus de précision quand aux case a cocher, tu les coches avant et ensuite avec un bouton tu execute t'es requetes ?? tout ca dans le meme formulaire ?
0
cs_niko14 Messages postés 209 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 10 octobre 2014
23 mars 2006 à 12:06
J'ai pas encore fait de code justement!
en fait tu as un formulaire avec des cases a cocher:
nb_hab_commune
tel mairie
fax mairie...
avec un bouton submit j'envoie le formulaire
Une fois le formulaire receptionné je vois quels champs il a choisi et je fais ma requete en fonction de ces champs......
Tu vois mieux la non?
desolé de pas avoir encore de code a proposer!

Niko14
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
raven44 Messages postés 315 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 21 mars 2011 1
23 mars 2006 à 12:16
C'est pas grave !!

donc sur ton premier formulaire, tu as t'es case a cocher !!
<form action='nomdetapage' method='post'ou 'get' name='nomduformulaire'>



[...] etc , autant de checkbox dont tu as besoin !!


</form>

si ton boutton est un submit je suppose que tu enregistre les informations de t'es case a cocher dans une base en faisant un INSERT INTO
donc juste avant d'insérer tu verifie si t'es case a cocher sont a true ou false et tu insert une valeur dans ta table.

Ensuite sur ton deuxième formulaire, tu n'a plus qu'a faire ta requete
Select * from table WHERE check1 = '1', check2='1' ....

Voila a peu près
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 mars 2006 à 12:32
Hello,

hmmm...
Je me permets de changer ce que raven44 vient de dire :
- oubli de la valeur des chexkbox
- on utilise plutôt un tableau pour les checkbox, mais là ça dépend de l'utilisation, des noms différents peuvent aussi très bien convenir, évidemment (voire, mieux convenir, ça dépend).
- l'élément form n'a pas d'attribut name (déprécié)
- les attributs html devraient être délimités par des guillemets

<?php
if (isset ($_POST['valid']) && $_POST['valid'] === 'Choisir') {
if (is_array ($_POST['check']) && !empty ($_POST['check'])) {
foreach ($_POST['check'] as $value) {
echo 'Valeur ', $value, ' choisie
';
}
}
}
?>
<form method="post">
1
2
3

</form>
0
cs_niko14 Messages postés 209 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 10 octobre 2014
23 mars 2006 à 12:33
Moi j'aurais preferé ne pas enregistrer dans ma base de données si a avait te possible ca m'aurait arrangé!!!
en fait je savais pas trop comment je devais faire mais pour faire ma requete j'imaginais plutot faire une fonction avec des arguments facultatifs qui allaient etre les valeurs des champs que je recuperais par rapport a la value des cases a cocher!
tu vois a peu pres le bordel dont je te parle!!!????

Niko14
0
cs_niko14 Messages postés 209 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 10 octobre 2014
23 mars 2006 à 12:34
pour recuperer les valeurs des checks je suis tout a fait ok avec malalam mais c'est apres pour le requete que je butte un peu!

Niko14
0
raven44 Messages postés 315 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 21 mars 2011 1
23 mars 2006 à 13:20
je vai d'abord répondre a malalam en ce qui concerne les guillemet et les cotes, c'est quasiment la meme chose le truc c'est que moi je met un document php du debut a la fin et qu'a l'intérieur de celui ci, pour afficher du HTML je met des echo " blablabla "; d'ou les cotes mai bon passon.

En ce qui te concerne Niko, puisque tu n'as pas de base, un bouton submit ne te servira à rien !! de plus je pense que dans ton cas, il va etre préférable de différencier t'es checkbox

donc fait un

ceci constitue a faire passer des valeur d'une page a une autre sans utiliser de base et te permet ainsi d'utiliser ces valeurs sur l'autre formulaire !!
0
raven44 Messages postés 315 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 21 mars 2011 1
23 mars 2006 à 13:22
Je voulais dire naturellement sans les enregistrer dans la base bien evidement !!

et pas 'puisque tu n'as pas de base' !!
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 mars 2006 à 13:28
Raven => oh si, cela change pas mal de choses...justement. Et peut causer pas mal de problèmes. ET ce n'est plus conforme 3wc, du moins pas xhtml.

Ensuite :
echo '';
Où est le problème...?
0
cs_niko14 Messages postés 209 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 10 octobre 2014
23 mars 2006 à 13:35
Non on s'est mal compris!
Si si j'ai une base de données parce que c'est de la dedan que je voudrais recuperer les valeurs en fonction des champs de ma requete choisis par l'intermediaire de mes check box!!!
je choisis les champs a afficher ds le tableau final en cochant les cases a cocher correspondantes
----->je valide avec un boutton submit!!
----->je recupere les valeurs de mes cases à cocher dans un tableau
----->et la je ne sais pas comment faire pour passer les champs recuperés ds ma requete parce que des fois il ne pourra y avoir que deux champs a mettre ds la requete des fois 5... des fois 3... vous voyez le probleme!!????
ensuite par rapport a la requete j'affiche le tableu recapitulatif des communes avec seuleument les champs choisis d'affichés!!!

Niko14
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 mars 2006 à 13:38
Fais voir ton formulaire, au moins. Non en fait :
donne les critères de tri, avec les noms correspondants dans les champs, les valeurs que tu acceptes. Sans ça, difficile de t'aider!
0
raven44 Messages postés 315 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 21 mars 2011 1
23 mars 2006 à 13:45
Peut etre vais je dire une nouvelle betise je n'en sais rien mais

pkoi pas faire des
Si chek1 coché et check2 coché alors
une requete
sinon si check2 et check3 coché
une requete
[...]

peut etre que ta solution ne reside pas que dans une unique requete .
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 mars 2006 à 13:51
Le mieux est plutôt de construire la requête en fonction des post reçus.
Genre :
$sQuery = 'SELECT machin FROM truc WHERE truc=bidule';
if (isset ($_POST['bla'])) {
$sQuery .= ' AND bla='.$_POST['bla'];
}

dans ce genre, quoi.
0
raven44 Messages postés 315 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 21 mars 2011 1
23 mars 2006 à 13:54
Oui c'est vrai ca surcharge moins le code !!
0
cs_niko14 Messages postés 209 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 10 octobre 2014
23 mars 2006 à 13:58
les champs que je peux choisir sont les suivants!!!
nom_commune
nb_hb_commune
tel_mairie
fax_mairie
email_mairie
cp_commune
et je suis tout a fait ok avec malalam je voudrais faire ma requete en fonction des champs qui auront été choisis mais c'est justement la qu'est mon problème!!!

Niko14
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 mars 2006 à 14:23
Je ne pige pas pourquoi tu veux des chexkboxes, à dire vrai...?
Elles vont te servir à quoi ? Ce sont des critères de tri sur quoi ...? Sur la sélection, ou sur l'affichage ?
0
cs_niko14 Messages postés 209 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 10 octobre 2014
23 mars 2006 à 14:28
ce sont des checks box qui serviront a choisir ce que le visiteur veut voir afficher pour le recapitulatif des communes!!
Il choisit si il veut juste le nom de la commune avec le nombre d'habitants ou alors si il veut le nom + le code postal...
tu vois??
C'est juste de faire un tri pour savoir ce qu'on veut voir afficher!!

Niko14
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 mars 2006 à 14:34
Ah ben voilà...

mettons que :

etc...

$sQuery = 'SELECT id';


if (isset ($_POST['choix']) && !empty ($_POST['choix'])) {
$sChoix = implode (',', $_POST['choix']);
}

$sQuery .= ','.$sChoix.' FROM communes';
0
Rejoignez-nous