Requete MySQL

Résolu
cave2180 Messages postés 512 Statut Membre -  
cave2180 Messages postés 512 Statut Membre -
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

  1. zermat Messages postés 160 Statut Membre 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
    1. cave2180 Messages postés 512 Statut Membre 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
  2. zermat Messages postés 160 Statut Membre 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
    1. cave2180 Messages postés 512 Statut Membre 6
       
      C'est bon, cela fonctionne ! J'oublie à chaque fois la possibilité de faire '$var .' ...
      0