Requete MySQL

Résolu
cave2180 Messages postés 425 Date d'inscription   Statut Membre Dernière intervention   -  
cave2180 Messages postés 425 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

j'ai un soucis pour l'envoi d'une requête sql. je souhaite envoyer la requête en fonction des cases cochées.

Il y a 5 choix (multiples) a cocher, et je souhaite récupérer un résultat SQL seulement si la case est cochée en fonction de cela, mais je n'arrive pas à faire ma requête avec les "or" :

$sql = 'SELECT * FROM newsletter_adresses WHERE verifie="1" and ....
je n'arrive pas à finir avec des "OR" pour les choix cochés.

Merci de votre aide.

2 réponses

zermat Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   16
 
fais comme ceci:

$sql = 'SELECT * FROM newsletter_adresses WHERE verifie="1"';
if(isset($_POST['check1']))
$sql .= ' and colonne1=1';
if(isset($_POST['check2']))
$sql .= ' or colonne2=1';
if(isset($_POST['check3']))
$sql .= ' or colonne3=1';
.
.
.
.
0
cave2180 Messages postés 425 Date d'inscription   Statut Membre Dernière intervention   6
 
J'ai pensé a sa mais cela ne fonctionne pas, je veux seulement récupérer les cases cochées dans ma requête, et vu que en 1er j'ai un "and", je n'arrive pas à faire ma requete a et (b ou c ou d).
0
zermat Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   16
 
Vous pouver faire comme ceci:

$sql = 'SELECT * FROM newsletter_adresses WHERE verifie="1"';
if(isset($_POST['check1']))
$sql .= ' and (colonne1=1';
if(isset($_POST['check2']))
$sql .= ' or colonne2=1';
if(isset($_POST['check3']))
$sql .= ' or colonne3=1';
.
.
.
.
$sql .= ')';

Sinon si vous me donner le code du formulaire et la structure de la table newsletter_adresses
0
cave2180 Messages postés 425 Date d'inscription   Statut Membre Dernière intervention   6
 
C'est bon, cela fonctionne ! J'oublie à chaque fois la possibilité de faire '$var .' ...
0