Requette Mysql multiple
malabarbe
-
phil232 Messages postés 610 Statut Membre -
phil232 Messages postés 610 Statut Membre -
Bonjour,
Je suis devant un problème que je n'arrive pas a résoudre :
Voila j'ai une liste de livres dans ma base Mysql
Si je fait une requette sur la lettre A sur les titres, cela fonctionne.
Je voudrais faire une requette multiple c'est a dire :
Rechercher avec la requette des livres commancant par a et par r
Bien sur dans mon formulaire de demande j'ai fait un champ rech_1 et rech_2
voici mon code qui tourne pour rech_1, comment l'étendre pour qu'il
prenne en compte rech_2 ?
$Resultat = mysql_query("select nom,date1,VA1,HIP,DIST,Etat from produit where nom like '" . $HTTP_POST_VARS["rech_1"] . "%'");
Merci de votre aide
Je suis devant un problème que je n'arrive pas a résoudre :
Voila j'ai une liste de livres dans ma base Mysql
Si je fait une requette sur la lettre A sur les titres, cela fonctionne.
Je voudrais faire une requette multiple c'est a dire :
Rechercher avec la requette des livres commancant par a et par r
Bien sur dans mon formulaire de demande j'ai fait un champ rech_1 et rech_2
voici mon code qui tourne pour rech_1, comment l'étendre pour qu'il
prenne en compte rech_2 ?
$Resultat = mysql_query("select nom,date1,VA1,HIP,DIST,Etat from produit where nom like '" . $HTTP_POST_VARS["rech_1"] . "%'");
Merci de votre aide
9 réponses
-
$Resultat = mysql_query("select nom,date1,VA1,HIP,DIST,Etat from produit where nom like '" . $HTTP_POST_VARS["rech_1"] . "%' OR nom like '" . $HTTP_POST_VARS["rech_2"] . "%'");
-
$HTTP_POST_VARS est obsolète, ne plus l'utiliser (d'après la doc PHP de chez PHP)
utiliser $_POST -
Bonsoir,
Merci de vos réponces
Que j'utilise :
$HTTP_POST_VARS ou $_POST cela donne le mème résultat
En parlant de résultat, le code de Phil232 m'affiche toute la base
mais pas les deux lettres sélectionnées
Si vous voulez, je peut vous donner les sources et la base de donnée pour test
A vous lire -
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour,
Je joint mon source qui tourne seulement avec une seule requette,
voir si il est possible de l'adapter pou une double ou triple requette !
<html>
<BODY BGCOLOR=aqua>
<p>
<a href="sommaire.php">Retour</a>
<p>
<center>
<TABLE bgcolor='#DDF0D0' bordercolor='black' border=1 cellpadding=5>
<tr>
<th> Nom </th>
<th> Date1 </th>
<th> VA1 </th>
<th> HYP </th>
<th> DIST</th>
<th> Etat </th>
</tr>
<?
// Connexion à MySQL
$Connexion = mysql_connect ("localhost", "root", "");
if ($Connexion) {
// Choix de la database
if (mysql_select_db("produit") == false ) {
echo ("Changement de base impossible <BR>");
}
// Exemple de SELECT
$Resultat = mysql_query("select nom,date1,VA1,HIP,DIST,Etat from produit where nom like '" . $_POST["Rech_1"] . "%'");
if ($Resultat)
{
if (mysql_num_rows($Resultat)> 0)
{
// Boucle de récupération des lignes résultat
while($Ligne = mysql_fetch_array($Resultat))
{
?>
<tr>
<td><?= $Ligne["nom"] ?></td>
<td><center><?= $Ligne["date1"] ?></center></td>
<td><center><?= $Ligne["VA1"] ?></center></td>
<td><center><?= $Ligne["HIP"] ?></center></td>
<td><center><?= $Ligne["DIST"] ?></center></td>
<td><center><?= $Ligne["Etat"] ?></center></td>
</tr>
<?
}
}
// Libération de la requête
mysql_free_result($Resultat);
}
else {
echo ("Requête incorrecte");
}
} else {
echo ("Connexion impossible <BR>");
}
mysql_close ($Connexion);
?>
</BODY>
</html>
Merci de regarder -
Bonjour
En parlant de résultat, le code de Phil232 m'affiche toute la base
ça aurait dû marcher,tu n'avais sûrement rien mis dans rech_2 -
Oui, c'est la le problème
Si un des deux champ se saisie est vide
alors cela affiche tiute la base
Il faidrais que cela tourne qu'il y ai une ou deux requette -
allez, un petit effort quand-même
if ($_POST["Rech_2"]) == ''
{
$Resultat = mysql_query("select nom,date1,VA1,HIP,DIST,Etat from produit where nom like '" . $_POST["Rech_1"] . "%'");
}
else
{
$Resultat = mysql_query("select nom,date1,VA1,HIP,DIST,Etat from produit where nom like '" . $HTTP_POST_VARS["rech_1"] . "%' OR nom like '" . $HTTP_POST_VARS["rech_2"] . "%'");
} -
J'avais trouvé cela
// Si variables vides
if ($_POSTS["Rech_1"]==FALSE)
{$_POST["Rech_1"]="zzzzz";}
if ($_POST["Rech_"]==FALSE)
{$_POST["Rech_"]="zzzzz";}
Désolé pour le $HTTP_POST_VARS grrrr... ;-),
mais j'avais pris une ancienne source !!!
Quel code est le meilleur ?