Auteur Sujet: <option value="QUELLE VALEUR METTRE">Tous les ID</option>  (Lu 5088 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne pmfontaine

  • Débutant
  • *
  • Messages: 16
    • Fleurs des Alpes
<option value="QUELLE VALEUR METTRE">Tous les ID</option>
« le: 25 juillet 2006 à 19:34:43 »
Bonjour,
Dans le formulaire suivant :
<form method="post" action="test.php">
<p>
        Choisir un ID :<select name="ID">
        <option value="QUELLE VALEUR METTRE POUR QUE TOUS LES ID S'AFFICHENT">Tous les ID</option>
    <option value=1>ID 1</option>
    <option value=2>ID 2</option>
    <option value=3>ID 3</option>
 </p>
 <input type="submit" value="Envoyer" />
</form>

Je ne sais pas quoi mettre a la Value du choix "Tous les ID" pour que toutes les $donnees['1'] de tous les ID s'affiche

La page test.php est la suivante :

<html>
<head>
</head>
<body>
<?php
$ID=$_POST['ID'];
mysql_connect("localhost", "root", "");
mysql_select_db("mabase");
$reponse = mysql_query("SELECT * FROM matable WHERE ID=$ID") or die(mysql_error());
while ($donnees = mysql_fetch_array($reponse) )
{
echo $donnees['1'];
}
mysql_close();
?>
</body>
</html>

J'ai essayé avec * et "*" sans résultat.
Merci d'avance pour votre aide.

Hors ligne patatras2001

  • Débutant
  • *
  • Messages: 4
Re : <option value="QUELLE VALEUR METTRE">Tous les ID</option>
« Réponse #1 le: 25 juillet 2006 à 20:57:23 »
  essaie de rajouter size=3 dans la balise select

Choisir un ID :<select name="ID" size=3>

Hors ligne Sbgodin

  • Débutant
  • *
  • Messages: 58
    • Site perso
Re : <option value="QUELLE VALEUR METTRE">Tous les ID</option>
« Réponse #2 le: 25 juillet 2006 à 21:11:44 »
<option value="0">Tous les ID</option>

if ("0"==$ID)
  $critere = "1=1" ;
else
  $critere = "ID=$ID" ;

$reponse = mysql_query("SELECT * FROM matable WHERE $critere") or die(mysql_error());

Hors ligne alex

  • VIP
  • *****
  • Messages: 1 915
Re : <option value="QUELLE VALEUR METTRE">Tous les ID</option>
« Réponse #3 le: 25 juillet 2006 à 21:12:59 »
Sinon, tu mets 0

et dans ta page test.php, tu modifies :

mysql_select_db("mabase");

if($ID == 0) $ID = '%';

$reponse = mysql_query('SELECT * FROM matable WHERE ID LIKE "'.$ID.'"') or die(mysql_error());

Sinon, coder en register_globals à off peut être intéressant aussi

Hors ligne diaoul

  • Expert
  • ****
  • Messages: 663
    • http://diaoul.net
Re : <option value="QUELLE VALEUR METTRE">Tous les ID</option>
« Réponse #4 le: 25 juillet 2006 à 21:33:48 »
en changeant ta requete:
$reponse = mysql_query("SELECT * FROM matable WHERE ID like $ID") or die(mysql_error());

et en mettant '%' pour  "toutes  les IDS".

si avec tout ça, t'y arrives pas ... -_-

Hors ligne alex

  • VIP
  • *****
  • Messages: 1 915
Re : <option value="QUELLE VALEUR METTRE">Tous les ID</option>
« Réponse #5 le: 25 juillet 2006 à 22:42:22 »
Ouais enfin ça reste peu secure puisque tu peux injecter ce que tu veux dans la requête :s

Hors ligne pmfontaine

  • Débutant
  • *
  • Messages: 16
    • Fleurs des Alpes
Re : <option value="QUELLE VALEUR METTRE">Tous les ID</option>
« Réponse #6 le: 26 juillet 2006 à 08:22:11 »
Merci a tous pour votre aide, mais j'espéré qu'il y avait un symbole comme * qui vaudrait "toutes les valeurs" car en fait je veux afficher une base de donnée sur les fleurs à partir d'un formulaire avec plusieurs critère de choix, avec pour chaque critère la possibilité de ne pas faire de choix (se qui revient a choisir tous les choix Exp. : Si je donne le choix sur la forme des feuilles, le visiteur pourra choisir "ne sais pas" ce qui m'oblige a afficher toutes les formes de feuille. et je vais me retrouver avec une requête du type
$reponse = mysql_query("SELECT * FROM matable WHERE ID=$ID AND couleur1=$couleur OR couleur2=$couleur AND feuille=$feuille AND limbe=$limbe") En fait j’ai un total de 10 champs à traiter.
   Je vais tester vos solutions et je vous dirais le résultat.
Une question pour  Alex : c’est quoi " coder en register_globals à off " ?

Hors ligne pmfontaine

  • Débutant
  • *
  • Messages: 16
    • Fleurs des Alpes
Re : <option value="QUELLE VALEUR METTRE">Tous les ID</option>
« Réponse #7 le: 26 juillet 2006 à 12:07:00 »
Merci à tous,et en particulier à Alex et diaoul, problème résolu avec :
<option value= '%'>Tous les ID</option>
et
$reponse = mysql_query('SELECT * FROM bdfleurs  WHERE ID LIKE "'.$ID.'"') or die(mysql_error());
Tout est dans la syntaxe.