2009-10-13 9 views
0

Comment écrire un code qui construit une requête mysql en fonction des valeurs des listes déroulantes?Requête mysql automatique en PHP

Si rien n'est sélectionné dans une liste déroulante, la valeur de la liste déroulante est 001 alors la requête ne doit pas inclure cette liste déroulante dans la recherche!

S'il vous plaît aider ...

J'ai ce jusqu'à présent:

  foreach($_GET as $key => $value) { 
    if ($value != '001') { 
       Do something smart...like add to a query... 
        } 
     } 
+0

Qu'est-ce que vous avez déjà fait? Vous n'avez donné à personne de quoi travailler ... à quoi ressemble votre requête manuelle? à quoi ressemble le html? –

+1

pourquoi aussi ce tag est-il perl? –

+0

Si vous explicitement définir la valeur de l'option à rien alors rien ne sera envoyé au serveur dans le cas où cela aide. – karim79

Répondre

1

Envoyez le formulaire à un fichier PHP appelé (par exemple) script.php avec la méthode GET (ou POST, si vous préférez - dans ce cas, remplacer les références GET ci-dessous):

dans script.php sont les suivantes:

<?php 
if (!isset($_GET['yourdroplistname']) { 
    $value = 001; 
} else { 
    $value = mysql_real_escape_string($_GET['yourdroplistname']); 
} 
mysql_query("YOUR QUERY, CONTAINING $value WHERE APPROPRIATE"); 
?> 
+0

+1 c'est un bon début –

+1

N'utilisez jamais d'entrée utilisateur directe pour construire une requête SQL brute. Utilisez une variable d'espace réservé, évitez les caractères spéciaux dans la valeur ou affectez-la à int pour vous assurer qu'elle contient un nombre. –

0

Je recommande d'utiliser un switch($droplist) pour filtrer ce que PHP devrait faire.

switch($droplist) 
case '1': 
$query = 'SELECT 1 FROM xy WHERE userid = 1'; 
break; 
case '2': 
// etc.