<HTML><head>
<title>Recherche Achat</title>
<body bgcolor=white text=black link=blue vlink=blue alink=blue>
<?php
include("gestion/config.php");
$pays_combo=$_POST['pays_combo'];
$sub_ville=$_POST['sub_ville'];
$sub_type_achat =$_POST['sub_type_achat'];
$sub_type_logement =$_POST['sub_type_logement'];
$meublier=$_POST['meublier'];
$radionchk=$_POST['radionchk'];
$sql="select * from achat where location='$radionchk'";
$result = mysql_query($sql);
$total = mysql_num_rows($result);
// $nbr=mysql_num_rows($sql);
if ($pays_combo != "0")
{
$sql=$sql + "and pays like '%$pays_combo%'";
}
if ($sub_ville != "0")
{
$sql=$sql + "and ville like '%$sub_ville%'";
}
if ($sub_type_achat != "0")
{
$sql=$sql + "and type_achat like '%$sub_type_achat%'";
}
if ($sub_type_logement != "0")
{
$sql=$sql + "and type_logement like '%$sub_type_logement%'";
}
if ($sub_type_logement != "0")
{
$sql=$sql + "and meuble like '%$meublier%'";
}
/* $limit = 5;
if(empty($page)) {
$page = 1;
$limitvalue = $page * $limit - ($limit);
$result1 = mysql_query($sql);
$total = mysql_num_rows($result1);
$result = mysql_query($sql_select);
$count_result = mysql_num_rows($result); */
//include ("affich.php") ;
// }
/* $numofpages = ceil($total / $limit);
$from=$limit*$page-$limit+1;
$to=$from + $count_result-1; */
echo"<table width='600' border='0' cellpadding='0' cellspacing='2' bgcolor='#802A47'>
<tr>";
echo"<td width='50%' align='left' class='txt1'> <font color='#ECC600' size='2'><b>$total Annonce(s)</b></font></td>";
echo"<td align=\"right\" class='txt1'>";
echo"<font color='#ECC600' size='2'>Visualisation de: </font>";
echo"</td>";
echo"</td>";
echo"</tr>
</table>";
$k=0;
while ($row = mysql_fetch_array($result))
{
$k++ ;
$prix = $row["prix"];
$sub_type_achat = $row["type_achat"];
$sub_type_logement = $row["type_logement"];
$meuble = $row["meuble"];
$ville = $row["ville"];
$location = $row["location"];
$pays = $row["pays"];
$surface = $row["surface"];
$description = $row["description"];
$reference = $row["reference"];
$surle = $row["surle"];
$aproximite = $row["aproximite"];
$description= stripslashes($description);
$description= nl2br($description);
if( $k%2 == 0 )
$color = "#AD6187";
else
$color = "#9c4d6d";
echo"<table width='600' border='0' cellpadding='0' cellspacing='2' bgcolor='#802A47' ><tr>
<td bgcolor='$color' align='left' width='367' class='txt1'> <font color='#FFFFFF'> <strong><u>Annonce N° $reference</u></strong><br>
<b>$type_achat à $ville ";
if ($surface !=0)
{
echo"de surface $surface m2<br>";
}
else
{
echo"<br>";
}
echo" $description </b><br>";
$sql_select2 = "select * from client where reference = '$reference' ";
$result2 = mysql_query($sql_select2);
$row = mysql_fetch_array($result2);
$reference = $row["reference"];
$tel = $row["tel"];
$gsm1 = $row["gsm1"];
$gsm2 = $row["gsm2"];
if (($tel!="Pas de téléphone"))
{
if (!empty($tel))
{
echo"<font color='#FFFFFF'><b><u>Tél.</u>$tel</b></font>";
}
}
echo"<br>";
if (($gsm1!="Pas de GSM"))
{
if (!empty($gsm1))
{
echo"<font color='#FFFFFF'><b><u>GSM 1.</u>$gsm1</b></font>";
}
}
echo"<br>";
if (($gsm2!="Pas de GSM"))
{
if (!empty($gsm2))
{
echo"<font color='#FFFFFF'><b><u>GSM 2.</u>$gsm2</b></font>";
}
}
echo"</font>
</td>
<td bgcolor='$color' width='106' align='center' class='txt1'><font color='#FFFFFF'> <b>Prix :<br>";
if ($prix != 0)
echo"$prix</b></font></td>";
else
echo"N.D</b></font></td>";
echo"</tr>
</table>";
}
echo "<table align=\"center\" width=\"479\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
echo"<tr>";
//echo"<td align=\"left\" class='menuc'>";
echo"</td>";
echo"</tr>";
echo"</table>";
?>
</body>
</head>
</html>
if ($pays_combo != "0")
{
$sql.=" and pays like '%".$pays_combo."%' ";
}
ici j'ai fait la concaténation avant le "=" grace au point, ça revien a la meme chose que de faire:
$sql = $sql . " and pays like '%".$pays_combo."%' ";
essaie deeja de tout afficher sans la pagination et si ça fonctionne alors tu passe au niveau supérieur
if($pays_combo != "0")
if()
...
...
$result = mysql_query($sql);<HTML>
<head>
<title>Recherche Achat</title>
<body bgcolor=white text=black link=blue vlink=blue alink=blue>
<?php
include("gestion/config.php");
include ("fonctions.php");
$pays_combo=$_POST['pays_combo'];
$sub_ville=$_POST['sub_ville'];
$sub_type_achat =$_POST['sub_type_achat'];
$sub_type_logement =$_POST['sub_type_logement'];
$meublier=$_POST['meublier'];
$radionchk=$_POST['radionchk'];
$allcriteres=$_POST['allcriteres'];
$sql="select * from achat where location='$radionchk'";
$resultat = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$nb_total = mysql_fetch_array($resultat);
if (($nb_total = $nb_total[0]) == 0) {
echo 'Aucune réponse trouvée';
}
else {
if (!isset($_GET['debut'])) $_GET['debut'] = 0;
$nb_affichage_par_page = 10;
if ( $allcriteres == "oui")
$operateur="AND";
else
$operateur="OR";
if ($pays_combo != "")
$finrequete .= " pays LIKE '%$pays_combo%'";
if ($sub_ville != "")
if ($finrequete != "")
$finrequete .= " $operateur (ville LIKE '%$sub_ville%')";
else
$finrequete .= " (ville LIKE '%$sub_ville%')";
if ($sub_type_achat != "")
if ($finrequete != "")
$finrequete .= " $operateur type_achat LIKE '%$sub_type_achat%'";
else
$finrequete .= " type_achat LIKE '%$sub_type_achat%'";
if ($sub_type_logement != "")
if ($finrequete != "")
$finrequete .= " $operateur type_logement LIKE '%$sub_type_logement%'";
else
$finrequete .= " $type_logement LIKE '%$sub_type_logement%'";
if ($meublier != "")
if ($finrequete != "")
$finrequete .= " $operateur meuble LIKE '$meublier'";
else
$finrequete .= " meuble LIKE '$meublier'";
if ($finrequete != "")
$sql="SELECT * FROM location WHERE $finrequete ORDER BY prix LIMIT ".$_GET['debut'].','.$nb_affichage_par_page;
else
$sql='SELECT * FROM location ORDER BY prix LIMIT '.$_GET['debut'].','.$nb_affichage_par_page;
$res = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
while ($result = mysql_fetch_array($res)) {
$k++ ;
$prix = $row["prix"];
$sub_type_achat = $row["type_achat"];
$sub_type_logement = $row["type_logement"];
$meuble = $row["meuble"];
$ville = $row["ville"];
$location = $row["location"];
$pays = $row["pays"];
$surface = $row["surface"];
$description = $row["description"];
$reference = $row["reference"];
$surle = $row["surle"];
$aproximite = $row["aproximite"];
$description= stripslashes($description);
$description= nl2br($description);
if( $k%2 == 0 )
$color = "#AD6187";
else
$color = "#9c4d6d";
echo"<table width='600' border='0' cellpadding='0' cellspacing='2' bgcolor='#802A47' ><tr>
<td bgcolor='$color' align='left' width='367' class='txt1'> <font color='#FFFFFF'> <strong><u>Annonce N° $reference</u></strong><br>
<b>$type_achat à $ville ";
if ($surface !=0)
{
echo"de surface $surface m2<br>";
}
else
{
echo"<br>";
}
echo" $description </b><br>";
$sql_select2 = "select * from client where reference = '$reference' ";
$result2 = mysql_query($sql_select2);
$row = mysql_fetch_array($result2);
$reference = $row["reference"];
$tel = $row["tel"];
$gsm1 = $row["gsm1"];
$gsm2 = $row["gsm2"];
if (($tel!="Pas de téléphone"))
{
if (!empty($tel))
{
echo"<font color='#FFFFFF'><b><u>Tél.</u>$tel</b></font>";
}
}
echo"<br>";
if (($gsm1!="Pas de GSM"))
{
if (!empty($gsm1))
{
echo"<font color='#FFFFFF'><b><u>GSM 1.</u>$gsm1</b></font>";
}
}
echo"<br>";
if (($gsm2!="Pas de GSM"))
{
if (!empty($gsm2))
{
echo"<font color='#FFFFFF'><b><u>GSM 2.</u>$gsm2</b></font>";
}
}
echo"</font>
</td>
<td bgcolor='$color' width='106' align='center' class='txt1'><font color='#FFFFFF'> <b>Prix :<br>";
if ($prix != 0)
echo"$prix</b></font></td>";
else
echo"N.D</b></font></td>";
echo"</tr>
</table>";
}
echo "<table align=\"center\" width=\"479\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
echo"<tr>";
//echo"<td align=\"left\" class='menuc'>";
echo"</td>";
echo"</tr>";
echo"</table>";
// on libère l'espace mémoire alloué pour cette requête
mysql_free_result ($res);
echo '<table><br />';
// on affiche enfin notre barre<br>
echo 'pages : ';
echo '<span>'.barre_navigation($nb_total, $nb_affichage_par_page, $_GET['debut'], 3).'</span>';
}
// on libère l'espace mémoire alloué pour cette requête
mysql_free_result ($resultat);
// on ferme la connexion à la base de données.
mysql_close ();
?>
</body>
</head>
</html>
Notice: Undefined index: allcriteres in e:\easyphp1-8\www\centraleimmo\moteurRech.php on line 15
Notice: Undefined variable: finrequete in e:\easyphp1-8\www\centraleimmo\moteurRech.php on line 33
Voila en gros c'est çaallcritere n'existe pas et finrequete n'est pas initialiser
$allcriteres=isset($_POST['allcriteres']) ? $_POST['allcriteres'] : "";
Si la case est cochée donc variable POST existe, on l'affecte a $allcriteres sinon on affecte une valeur par défaut (ici "")$finrequete="";
mais son utilité m'échape un peu Erreur SQL !
SELECT * FROM achat WHERE 8 Pièces LIKE '%none%' ORDER BY prix LIMIT 0,10
Erreur de syntaxe près de 'Pièces LIKE '%none%' ORDER BY prix LIMIT 0,10' à la ligne 1
Oui c'est pas ce resultat que j'espere ! j'ai rien choisis comme valeur dans les listes déroulantes, ce code devait m'afficher toutes les annonces puisque aucun critére n'a été selectionnéregadarde ce bout la ca correspond a pas grand chosej'ai pas regarder tes condition mais a mon avis c'est pas le resultat que tu espereWHERE 8 Pièces
$sql="select * from achat where location='".$radionchk."'";
$operateur= ($allcriteres == "oui") ? " AND " : " OR ";
if ($pays_combo != "0")
{
$sql.= $operateur." pays like '%".$pays_combo."%' ";
}
if ($sub_ville != "0")
{
$sql.= $operateur." ville like '%".$sub_ville."%' ";
}
if ($sub_type_achat != "0")
{
$sql.= $operateur." type_achat like '%".$sub_type_achat."%' ";
}
if ($sub_type_logement != "0")
{
$sql.= $operateur." type_logement like '%".$sub_type_logement."%' ";
}
if ($sub_type_logement != "0")
{
$sql.= $operateur." meuble like '%".$meublier."%' ";
}
$debut= (isset($_GET['debut'])) ? addslashes($_GET['debut']) : 0;
$sql.= ' ORDER BY prix LIMIT '.$debut.','.$nb_affichage_par_page;
echo '.<p>.'$sql.'</p>'; //ligne pour afficher la requete génèrée, juste pour verification
$res = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
je suis parti sur la base qu'une recherche comporte obligatoirement le champ location (location - vente ) qui a la base est un type radio, donc devra avoir une séléction de faite.