OVH Cloud OVH Cloud

Dream 8 : Faire afficher le choix d'un champ1 OU d'un champ2 et non des deux !

5 réponses
Avatar
Pierre
Bonjour,

Voilà mon problème.
J'ai dans une page1 un formulaire qui comprend deux champs de saisie.
J'ai un jeux d'enregistrement qui me permet de stocker le contenu saisi dans
les deux champs.

Dans une page 2 j'ai crée un jeux d'enregistrement qui va faire afficher les
résultats en fonction des deux champs saisis.
Le jeux d'enregistrement se présente ainsi :
SELECT *
FROM table
WHERE table.champ1='colname' AND table.champ2='colmod')

Dans la fenêtre de mon jeux d'enregistrement colname et colmod sont définis
ainsi :
Nom Valeur par défaut Valeur d'exécution
colmod 0 $_GET['VARmod']
colname 0 $_GET['VARconst']

VARmod et VARconst sont les deux variable d'URL qui transmettent le contenu
de mes deux champs.

Si je renseigne les deux champs j'obtiens bien le résultat escompté.
Mais si par exemple je renseigne uniquement le champ1, je n'obtiens aucun
résultat.

Comment faire via Dreamweaver pour que je puisse saisir au choix mon champ1
OU mon champ2 et obtenir les résultats de l'un ou de l'autre sans
obligatoirement renseigner les 2 champs ?

Merci d'avance !

5 réponses

Avatar
Youssef
tu as essayé de remplacer le AND par OR ?

--
Youssef Baddou

----------------------------------------------------------------------------
Maison de paille où l'on rit vaut mieux qu'un palais où l'on pleure.
[ Proverbe chinois ]
----------------------------------------------------------------------------

"Pierre" a écrit dans le message de
news:do1ni6$ii$
Bonjour,

Voilà mon problème.
J'ai dans une page1 un formulaire qui comprend deux champs de saisie.
J'ai un jeux d'enregistrement qui me permet de stocker le contenu saisi


dans
les deux champs.

Dans une page 2 j'ai crée un jeux d'enregistrement qui va faire afficher


les
résultats en fonction des deux champs saisis.
Le jeux d'enregistrement se présente ainsi :
SELECT *
FROM table
WHERE table.champ1='colname' AND table.champ2='colmod')

Dans la fenêtre de mon jeux d'enregistrement colname et colmod sont


définis
ainsi :
Nom Valeur par défaut Valeur d'exécution
colmod 0 $_GET['VARmod']
colname 0 $_GET['VARconst']

VARmod et VARconst sont les deux variable d'URL qui transmettent le


contenu
de mes deux champs.

Si je renseigne les deux champs j'obtiens bien le résultat escompté.
Mais si par exemple je renseigne uniquement le champ1, je n'obtiens aucun
résultat.

Comment faire via Dreamweaver pour que je puisse saisir au choix mon


champ1
OU mon champ2 et obtenir les résultats de l'un ou de l'autre sans
obligatoirement renseigner les 2 champs ?

Merci d'avance !




Avatar
Pierre
Oui mais là pour le coup ça ne marche plus du tout !


"Youssef" <!youssefb@!youssefb.!fr.!fm> a écrit dans le message de news:
do5tng$erm$
tu as essayé de remplacer le AND par OR ?

--
Youssef Baddou

----------------------------------------------------------------------------
Maison de paille où l'on rit vaut mieux qu'un palais où l'on pleure.
[ Proverbe chinois ]
----------------------------------------------------------------------------

"Pierre" a écrit dans le message de
news:do1ni6$ii$
Bonjour,

Voilà mon problème.
J'ai dans une page1 un formulaire qui comprend deux champs de saisie.
J'ai un jeux d'enregistrement qui me permet de stocker le contenu saisi


dans
les deux champs.

Dans une page 2 j'ai crée un jeux d'enregistrement qui va faire afficher


les
résultats en fonction des deux champs saisis.
Le jeux d'enregistrement se présente ainsi :
SELECT *
FROM table
WHERE table.champ1='colname' AND table.champ2='colmod')

Dans la fenêtre de mon jeux d'enregistrement colname et colmod sont


définis
ainsi :
Nom Valeur par défaut Valeur d'exécution
colmod 0 $_GET['VARmod']
colname 0 $_GET['VARconst']

VARmod et VARconst sont les deux variable d'URL qui transmettent le


contenu
de mes deux champs.

Si je renseigne les deux champs j'obtiens bien le résultat escompté.
Mais si par exemple je renseigne uniquement le champ1, je n'obtiens aucun
résultat.

Comment faire via Dreamweaver pour que je puisse saisir au choix mon


champ1
OU mon champ2 et obtenir les résultats de l'un ou de l'autre sans
obligatoirement renseigner les 2 champs ?

Merci d'avance !








Avatar
Youssef
j'avais un petit algo caché quelque part pour faire du multi-critère, il
faut que je le retrouve...
si tu n'as pas trouvé entretemps, je te l'enverrai.

--
Youssef Baddou

----------------------------------------------------------------------------
Maison de paille où l'on rit vaut mieux qu'un palais où l'on pleure.
[ Proverbe chinois ]
----------------------------------------------------------------------------

"Pierre" a écrit dans le message de
news:do6m1a$l0c$
Oui mais là pour le coup ça ne marche plus du tout !


"Youssef" <!youssefb@!youssefb.!fr.!fm> a écrit dans le message de news:
do5tng$erm$
> tu as essayé de remplacer le AND par OR ?
>
> --
> Youssef Baddou
>

--------------------------------------------------------------------------


--
> Maison de paille où l'on rit vaut mieux qu'un palais où l'on pleure.
> [ Proverbe chinois ]

--------------------------------------------------------------------------


--
>
> "Pierre" a écrit dans le message de
> news:do1ni6$ii$
>> Bonjour,
>>
>> Voilà mon problème.
>> J'ai dans une page1 un formulaire qui comprend deux champs de saisie.
>> J'ai un jeux d'enregistrement qui me permet de stocker le contenu saisi
> dans
>> les deux champs.
>>
>> Dans une page 2 j'ai crée un jeux d'enregistrement qui va faire


afficher
> les
>> résultats en fonction des deux champs saisis.
>> Le jeux d'enregistrement se présente ainsi :
>> SELECT *
>> FROM table
>> WHERE table.champ1='colname' AND table.champ2='colmod')
>>
>> Dans la fenêtre de mon jeux d'enregistrement colname et colmod sont
> définis
>> ainsi :
>> Nom Valeur par défaut Valeur d'exécution
>> colmod 0 $_GET['VARmod']
>> colname 0


$_GET['VARconst']
>>
>> VARmod et VARconst sont les deux variable d'URL qui transmettent le
> contenu
>> de mes deux champs.
>>
>> Si je renseigne les deux champs j'obtiens bien le résultat escompté.
>> Mais si par exemple je renseigne uniquement le champ1, je n'obtiens


aucun
>> résultat.
>>
>> Comment faire via Dreamweaver pour que je puisse saisir au choix mon
> champ1
>> OU mon champ2 et obtenir les résultats de l'un ou de l'autre sans
>> obligatoirement renseigner les 2 champs ?
>>
>> Merci d'avance !
>>
>>
>
>




Avatar
Pierre
>"Youssef" a écrit
j'avais un petit algo caché quelque part pour faire du multi-critère, il
faut que je le retrouve...
si tu n'as pas trouvé entretemps, je te l'enverrai.



Ca m'interesse oui ! :)

Merci
Pierre
Avatar
Padbra
Pierre a écrit :
Bonjour,

Voilà mon problème.
J'ai dans une page1 un formulaire qui comprend deux champs de saisie.
J'ai un jeux d'enregistrement qui me permet de stocker le contenu saisi dans
les deux champs.

Dans une page 2 j'ai crée un jeux d'enregistrement qui va faire afficher les
résultats en fonction des deux champs saisis.
Le jeux d'enregistrement se présente ainsi :
SELECT *
FROM table
WHERE table.champ1='colname' AND table.champ2='colmod')

Dans la fenêtre de mon jeux d'enregistrement colname et colmod sont définis
ainsi :
Nom Valeur par défaut Valeur d'exécution
colmod 0 $_GET['VARmod']
colname 0 $_GET['VARconst']

VARmod et VARconst sont les deux variable d'URL qui transmettent le contenu
de mes deux champs.

Si je renseigne les deux champs j'obtiens bien le résultat escompté.
Mais si par exemple je renseigne uniquement le champ1, je n'obtiens aucun
résultat.

Comment faire via Dreamweaver pour que je puisse saisir au choix mon champ1
OU mon champ2 et obtenir les résultats de l'un ou de l'autre sans
obligatoirement renseigner les 2 champs ?

Merci d'avance !




Bonjour Pierre,

Ceci n'a rien à voir avec Dreamweaver, ni le 8 ni une autre version. Il
s'agit simplement de lacunes liées aux requêtes sql de manière générale
sans doute associées à quelques lacunes en php.
Le seul code propre que tu pourrais obtenir serait celui que tu ferais
toi même.
Dans ta requête :
> SELECT *
> FROM table
> WHERE table.champ1='colname' AND table.champ2='colmod')

Tu (dream) demande(s) que champ1 doit avoir la valeur "colname" tandis
que le champ2 doit, lui, avoir la valeur "colmode". Il va de soi que
"champ1" et "champ2" sont les attributs de la table nommée "table".
Ton "jeu d'enregistrement" est certainement constitué de 2 <input
type="text" ... /> avec un attribut name="..." pour chacun d'entre eux.
Admettons que tes input soient :
<input type="text" name="champ1" />
et
<input type="text" name="champ2" />

Tu devrais alors modifier ta requête comme suit :
> SELECT *
> FROM table
> WHERE champ1='$champ1' OR table.champ2='$champ2')

Je te conseille d'apprendre le langage PHP et SQL. Tu trouveras plein de
ressources sur le net, google est ton ami.
Un bouquin pas mal fait pour les débutants, est
<cite>Pratique de MySQL et PHP</cite> des éditions O'Reilly, mais tout
autre bouquin en ta possession pourrait faire l'affaire si tu y met le
nez dedans.

hth,
padbra