Faire une recherhe dans une BD MySQL avec plusieur critere ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Faire une recherhe dans une BD MySQL avec plusieur critere ?

par nath-0-0 » 14 déc. 2005, 21:04

je te donne un exemple mais avec des et....

Code : Tout sélectionner

$sql = "SELECT `codePostal`, `surfaceHabitable`,`PrixComCompris`,`TitreAnnonce`,`idBien`,"; $sql.=" `description` FROM bien,ville"; $sql.= " WHERE ville.idville = bien.fkville AND"; if ($ef_ref !="") $sql.= " idBien = '$ef_ref' AND"; if ($ef_surface !="") $sql.= " surfaceHabitable BETWEEN $ef_surfaceMin AND $ef_surfaceMax AND"; if ($ef_prix !="") $sql.= " PrixComCompris BETWEEN $ef_prixMin AND $ef_prixMax AND"; if ($ef_ville !="") $sql.= " codePostal = '$ef_ville' AND"; $sql.= " 1=1;";
mais a la place de 1=1 tu mets un truc impossible du genre 1=2

voila la suite, ma requete quoi !?!?

par obcstaff » 14 déc. 2005, 20:16

$sql = "SELECT * FROM membre,log,sexe 
				WHERE num_membre = num_log
				AND membre.num_sexe = sexe.num_sexe
				AND (log.pseudo = '".$_POST['pseudo']."'
				OR membre.ville = '".$_POST['ville']."'
				OR membre.region = '".$_POST['region']."'
				OR membre.departement = '".$_POST['departement']."'
				OR sexe.num_sexe = '".$_POST['sexe']."')";
		$result = mysql_query ($sql);
		
		while($result2 = mysql_fetch_object ($result))
			{
				echo("$result2->nom_membre");
			}

Voila mon code

par obcstaff » 14 déc. 2005, 20:14

<form action='recherche2.php' method='post'>
		<table>
			<tr>
				<td>Par pseudo:</td>
				<td>
					<input type='text' name='pseudo' size='20'>
				</td>
			</tr>
			<tr>
				<td>Par ville:</td>
				<td>
					<input type='text' name='ville' size='20'>
				</td>
			</tr>
			<tr>
				<td>Par région:</td>
				<td>
					<select name='region' size='1' >
						<?php
							$sql = "SELECT * FROM region";
							$result = mysql_query ($sql);
							
									echo("<option selected value=0>...");
							while ($result2 = mysql_fetch_object ($result))
								{
									echo("<option value='$result2->num_region'>$result2->nom_region");
								}
						?>
					</select>
				</td>
			</tr>
			<tr>
				<td>Par département</td>
				<td>
					<select name='departement' size='1' >
						<?php
							$sql = "SELECT * FROM departement";
							$result3 = mysql_query ($sql);
									
									echo("<option selected value=0>...");
							while ($result4 = mysql_fetch_object ($result3))
								{
									echo("<option value='$result4->num_departement'>$result4->nom_departement");
								}
						?>
					</select>
				</td>
			</tr>
			<tr>
				<td>Par sexe:</td>
				<td><select name='sexe' size='1' >
						<option selected value='0'>...
						<option value='1'>Homme
						<option value='2'>Femme
					</select> 
				</td>
			</tr>
		</table><br><br>
				<input type='submit' name='ok' value='Rechercher'>
	</form>

rep a nath-0-0

par obcstaff » 14 déc. 2005, 20:07

si un champ est vide, la requete n'est pas correct aussi??

par nath-0-0 » 14 déc. 2005, 20:02

par exemple

Code : Tout sélectionner

$sql="select from tabase where pseudo=$pseudoduformulair or ville=$villeduformulaire"; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); while($data = mysql_fetch_assoc($req)) { echo '<tr>'; echo '<td class="ref">'.$data['ville'].'</td>'; echo '</tr>'; }

par DocType » 14 déc. 2005, 20:02

A moins de me tromper, un post similaire existe actuellement...dans les deux trois lignes près du tien... :roll:
http://www.phpfrance.com/forums/voir_sujet-12069.php

Faire une recherhe dans une BD MySQL avec plusieur critere ?

par obcstaff » 14 déc. 2005, 19:56

Comment faire pour creer une requete de recherche, par ex dans le formulaire on peut rechercher par ville, par departement, par pseudo...etc

Quelqun peut m'indiquer le code svp???

merci d'avance....