IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[SQL] recherche multicritère SQL et checkbox


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de berti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 239
    Par défaut [SQL] recherche multicritère SQL et checkbox
    j'exécute une requete qui m'affiche dans un tableau un libellé et une checkbox
    quand l'utilisateur coche la checkbox ça genère une requete SQL avec plusieurs paramètres. Sauf que je n'arrive pas a faire passer les paramètres.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>EXporter</title>
    <?php
    include "connec.inc.php";
     
    if(isset($_POST['valider']))
    {
     
    	$sql = "SELECT ID FROM ORGANISME;";
    	if (!$sql) { echo "Erreur requete"; exit;} 
     
    	$critere = "";
     
    	while ($ligne=mysql_fetch_array($sql))
    	{
    		$id = $ligne['ID'];
                              //je sais que la syntaxe est fausse mais c'est le principe
    		if(isset($_POST[.$id.])
    		{
    			$param = $critere."(((ORGANISME_MEMBRE.ID)=".$id.")) OR ";
    			$critere = $param;
    		}
    	}
     
    	echo $critere; 
     
    	$query = "SELECT MEMBRES.NOM, MEMBRES.PRENOM, MEMBRES.ADRESSE, MEMBRES.CP, MEMBRES.VILLE, ORGANISME_MEMBRE.ID, ORGANISME.LIBELLES "
    	."FROM ORGANISME INNER JOIN (MEMBRES INNER JOIN ORGANISME_MEMBRE ON MEMBRES.NUMERO = ORGANISME_MEMBRE.NUMERO) ON ORGANISME.ID = ORGANISME_MEMBRE.ID "
    	."WHERE (((ORGANISME_MEMBRE.ID)=".$critere."));";
     
    }
    ?>
    </head>
     
    <body>
    </br>
    <form name="form1" method="post" action="">
              <table width="270" border="0" cellspacing="0" cellpadding="0" align="center">
              <?php
    			$sql=mysql_query("SELECT ID, LIBELLES FROM ORGANISME GROUP BY LIBELLES;");
     
    			if (!$sql) { echo "Erreur requete"; exit;} 
     
    			while ($ligne=mysql_fetch_array($sql))
    			{
    				$lib = $ligne['LIBELLES'];
    				$id = $ligne['ID'];
    			?>
     
                <tr>
                  <td width="200" align="center" height="35"><?php echo $lib;?></td>
                  <td width="70" align="center" height="35"><input type=checkbox name="<?php echo $id;?>" value="<?php echo $id;?>"</td>
                </tr>
     
    			<?php
    			}
    			?>
    		   </table></br>
              <div align="center">
          <input type="submit" name="valider" value="Exporter" style="background-color:#358F27; color:white; font-weight:normal"> 
          </div>
    </form>
    </br>
    <?php
    		if (isset($msg))
    		{
    			echo "<table width='450' border='1' align='center' cellpadding='0' cellspacing='0' bordercolor='#DC6607'>";
        		echo "<tr>";
          		echo "<td height='50' valign=middle><p align='center'>$msg</p></td>";
    			echo "</tr>";
    			echo "</table>";
    		}
    ?>
    &nbsp;
    </body>

  2. #2
    Membre éclairé Avatar de berti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 239
    Par défaut
    j'avais oublié le foreach AAAAAAAAAAAAAAAAAAAA

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    if(isset($_POST['valider']))
    {
     
    	$critere = "";
     
    	foreach ($_POST  as $cle=>$valeur)
    	{	
    		if ($cle!='supprimer')
    		{
    			$param = $critere."(((ORGANISME_MEMBRE.ID)=".$cle.")) OR ";
    			$critere = $param;
    		}
    	}
     
    	echo $critere; 
     
    	$query = "SELECT MEMBRES.NOM, MEMBRES.PRENOM, MEMBRES.ADRESSE, MEMBRES.CP, MEMBRES.VILLE, ORGANISME_MEMBRE.ID, ORGANISME.LIBELLES "
    	."FROM ORGANISME INNER JOIN (MEMBRES INNER JOIN ORGANISME_MEMBRE ON MEMBRES.NUMERO = ORGANISME_MEMBRE.NUMERO) ON ORGANISME.ID = ORGANISME_MEMBRE.ID "
    	."WHERE (((ORGANISME_MEMBRE.ID)=".$critere."));";
     
    }
    par contre dans mon echo voila le résultat quand je coche, j'ai un paramètre vide :

    (((ORGANISME_MEMBRE.ID)=1)) OR (((ORGANISME_MEMBRE.ID)=21)) OR (((ORGANISME_MEMBRE.ID)=valider)) OR

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recherche Multicritère (SQL)
    Par La Peonne dans le forum IHM
    Réponses: 4
    Dernier message: 06/05/2013, 12h05
  2. Réponses: 13
    Dernier message: 22/05/2007, 09h44
  3. [SQL] Recherche multicritères
    Par denn dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 04/05/2006, 17h42
  4. [SQL] recherche multicritère
    Par nal dans le forum PHP & Base de données
    Réponses: 21
    Dernier message: 11/04/2006, 11h26
  5. [SQL] Recherche multicritères genération de la requête
    Par primus dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 23/02/2006, 16h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo