recherche multicritéres

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

29 oct. 2005, 16:04

la concaténation n'est pas bonne:
echo '.<p>'.$sql.'</p>';
ajoute aussi l'initialisation de la variable du nombre de pages:
$nb_affichage_par_page = 10; 
ensuite pour la pagination tu as un toto ICI (tu poura rapidement adapter a tes besoin)

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 151 Messages

29 oct. 2005, 17:38

je viens de mettre ton code truc, mais ça me donne toujours pas le resultat attendu, en effet quand je choisi que 2 critères ou 3 ça me donne un OR au lieu de AND donc je me trouve avec autres villes que celles que j'ai choisi :? j'espére que j'ai bien expliqué mon problème !

Voila le code :
<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");
// reccupération varibles 
 $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=isset($_POST['allcriteres']) ? $_POST['allcriteres'] : ""; 
 $finrequete=""; 
 $k=0;
 $nb_affichage_par_page = 10; 
 $sql="select * from achat where location='".$radionchk."'"; 
$result = mysql_query($sql);
	 $total = mysql_num_rows($result);
$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; 
$res = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  

// echo '.<p>'.$sql.'</p>'; -


 echo"<table width='600' border='0' cellpadding='0' cellspacing='2' bgcolor='#802A47'>
					  <tr>";
						echo"<td width='50%' align='left' class='txt1'>&nbsp; <font color='#ECC600' size='2'><b> 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($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'>&nbsp;<strong><u>Annonce N° $reference</u></strong><br>
						&nbsp;<b>$type_achat à $ville  ";
						if ($surface !=0)
						{
							echo"de surface $surface m2<br>";
						}
						else
						{
							echo"<br>";
						}
						echo"&nbsp;$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'>&nbsp;<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>

Mammouth du PHP | 1311 Messages

29 oct. 2005, 17:42

a tu tester $allcriteres
sinon mon code differe un peu de truc
$allcriteres == "oui" ?$opperateur=" && " : $operateur=" || ";

Eléphant du PHP | 151 Messages

29 oct. 2005, 17:50

a tu tester $allcriteres
sinon mon code differe un peu de truc
$allcriteres == "oui" ?$opperateur=" && " : $operateur=" || ";
bah j'ai carrémént supprimé le checkbox "allcritéres" mais là il me retourne aucun resultat, est ce que j'ai un problème dans le code ?!
<?php
include("gestion/config.php");
include ("fonctions.php");
// reccupération varibles 
 $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=isset($_POST['allcriteres']) ? $_POST['allcriteres'] : ""; 
 $finrequete=""; 
 $k=0;
 $nb_affichage_par_page = 10; 
 $sql="select * from achat where location='".$radionchk."'"; 
$result = mysql_query($sql);
	 $total = mysql_num_rows($result);
//$operateur= ($allcriteres == "oui") ? " AND " : " OR "; 
$operateur= " AND "; 

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; 
$res = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  

 echo"<table width='600' border='0' cellpadding='0' cellspacing='2' bgcolor='#802A47'>
					  <tr>";
						echo"<td width='50%' align='left' class='txt1'>&nbsp; <font color='#ECC600' size='2'><b> 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($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'>&nbsp;<strong><u>Annonce N° $reference</u></strong><br>
						&nbsp;<b>$type_achat à $ville  ";
						if ($surface !=0)
						{
							echo"de surface $surface m2<br>";
						}
						else
						{
							echo"<br>";
						}
						echo"&nbsp;$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'>&nbsp;<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>

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

29 oct. 2005, 18:00

tu as 2 fois le meme test:
if ($sub_type_logement != "0") 
avant dernier et dernier if !!!

sinon fait voir la requete génèrée.. echo $sql;

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 151 Messages

29 oct. 2005, 18:17

Bon j'ai resolu le problème ça marche, mnt il me manque la pagination, j'ai lu le tutorial mais franchement j'ai du mal à le comprendre quelqu'un pourra me filer un scripts facile à comprendre et à implementer ?! Merci beaucoup pour votre aide et excusez moi pour le dérangement ! :oops:

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

29 oct. 2005, 18:47

hmm.. pourtant il est bien détaillé le tuto... biensur tu n'a plus tout a faire tu as deja la moitié :D

les grandes étapes:
=>récupération des variables:
$pays_combo = isset($_POST['pays_combo']) ? $_POST['pays_combo'] : (isset($_GET['pays_combo']) ? $_GET['pays_combo'] : 0);
exemple avec une liste. En premier tu essai de récupèrer la variable POST (donc celle qui vient du formulaire) si elle n'existe pas on récupère la variable en GET (celle du clic sur la page suivante). De la meme manière pour les autres variables issues du formulaire

=>nombre de fiches correspondantes a la requete:
$nb_pages= mysql_num_row($res);
=> Calcul du nombre de pages
$nb_nouv_par_page=3; //nombre de fiches par page
$nb_pages = ceil($nb_pages / $nb_nouv_par_page); 
=> pagination (tres) tres basique:
 for ($i = 1 ; $i <= $nb_pages ; $i++)
	{		
		echo '<a href="ta_page.php?debut=' . $i . '&pays_combo=' .$pays_combo. '">' . $i . '</a> ';
	}	
exemple: dans le lien ne n'ai mis que la valeur de "pays_combo" tu dois bien évidemment ajouter les autres variables de la meme manière.

Voila essai d'adapter tout ca et revien si tu n'y arrive pas, mais essai ça ne te sera que bénéfique :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 151 Messages

29 oct. 2005, 19:33

je te remercie beaucoup truc ! je vais le tester ! :lol: à toute !

Eléphant du PHP | 151 Messages

29 oct. 2005, 22:24

bon je suis desespérée, je ne sais plus comment faire un système de pagination dans mon script quelq'un pourra m'aider car là je suis bloquée depuis 3 jours ! je sais je suis nulle !! :cry:
voila mon script :
<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");
// reccupération varibles 
 $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=isset($_POST['allcriteres']) ? $_POST['allcriteres'] : ""; 
 $finrequete=""; 
 $k=0;
 
 $nb_affichage_par_page = 100; 
 $sql="select * from achat where location='".$radionchk."'"; 
$result = mysql_query($sql);


	 
//$operateur= ($allcriteres == "oui") ? " AND " : " OR "; 
$operateur= " AND "; 

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 ($meublier != "0") 
    { 
        $sql.= $operateur." meuble like '%$meublier%' "; 
    } 

$debut= (isset($_GET['debut'])) ? addslashes($_GET['debut']) : 0;     
     
$sql.= ' ORDER BY prix LIMIT '.$debut.','.$nb_affichage_par_page; 

$res = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
$total = mysql_num_rows($res);
//echo '.<p>'.$sql.'</p>';


 echo"<table width='600' border='0' cellpadding='0' cellspacing='2' bgcolor='#802A47'>
					  <tr>";
						echo"<td width='50%' align='left' class='txt1'>&nbsp; <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($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 = "#802A47";
					else
						$color = "#9C456A";	
						
					
					echo"<table width='600' border='0' cellpadding='0' cellspacing='2' bgcolor='#77111C' ><tr>
					  	<td bgcolor='$color' align='left' width='367' class='txt1'> <font color='#F4F4F4'>&nbsp;<strong><u>Annonce N° $reference</u></strong><br>
						&nbsp;<b>$type_achat à $ville  ";
						if ($surface !=0)
						{
							echo"de surface $surface m2<br>";
						}
						else
						{
							echo"<br>";
						}
						echo"&nbsp;$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>"; 
					
					echo"</font>
						</td>
						<td bgcolor='$color' width='106' align='center' class='txt1'><font color='#FFFFFF'>&nbsp;<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>
Merci d'avance !

Mammouth du PHP | 19672 Messages

29 oct. 2005, 23:12

Bon j'ai resolu le problème ça marche, mnt il me manque la pagination, j'ai lu le tutorial mais franchement j'ai du mal à le comprendre quelqu'un pourra me filer un scripts facile à comprendre et à implementer ?! Merci beaucoup pour votre aide et excusez moi pour le dérangement ! :oops:
Qu'est-ce que tu ne comprends pas dans le tuto: en principe, ça devrais être relativement facile à suivre :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 151 Messages

30 oct. 2005, 00:19

Bon j'ai resolu le problème ça marche, mnt il me manque la pagination, j'ai lu le tutorial mais franchement j'ai du mal à le comprendre quelqu'un pourra me filer un scripts facile à comprendre et à implementer ?! Merci beaucoup pour votre aide et excusez moi pour le dérangement ! :oops:
Qu'est-ce que tu ne comprends pas dans le tuto: en principe, ça devrais être relativement facile à suivre :-k
je ne sais pas ou l'integrer ! :roll: j'ai compris le principe mais j'arrive pas à l'implementer dans mon code

Invité
Invité n'ayant pas de compte PHPfrance

30 oct. 2005, 01:37

je sais je suis nulle !!
Fallais le dire de suite que t'étais une fille,il y en a tellement peu :wink:

Alors, je te propose ce code (j'ai pas testé mais ça doit etre bon dans l'ensemble), j'ai essayé de coller le plus possible au tuto précédent pour que tu puisse suivre au fur et a mesure.
<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");

// nombre de fiches par page
$nb_affichage_par_page = 10;

// reccupération varibles
//récupération de la variable POST (du formulaire) si elle n'existe pas on récupère la variable GET du clic sur le numéro de page
$allcriteres       = isset($_POST['allcriteres'])       ? $_POST['allcriteres']       : (isset($_GET['allcriteres'])       ? $_GET['allcriteres'] : 0);

$pays_combo        = isset($_POST['pays_combo'])        ? $_POST['pays_combo']        : (isset($_GET['pays_combo'])        ? $_GET['pays_combo'] : 0);

$sub_ville         = isset($_POST['sub_ville'])         ? $_POST['sub_ville']         : (isset($_GET['sub_ville'])         ? $_GET['sub_ville'] : 0);

$sub_type_achat    = isset($_POST['sub_type_achat'])    ? $_POST['sub_type_achat']    : (isset($_GET['sub_type_achat'])    ? $_GET['sub_type_achat'] : 0);

$sub_type_logement = isset($_POST['sub_type_logement']) ? $_POST['sub_type_logement'] : (isset($_GET['sub_type_logement']) ? $_GET['sub_type_logement'] : 0);

$meublier          = isset($_POST['meublier'])          ? $_POST['meublier']          : (isset($_GET['meublier'])          ? $_GET['meublier'] : 0);

$radionchk         = isset($_POST['radionchk'])         ? $_POST['radionchk']         : (isset($_GET['radionchk'])         ? $_GET['radionchk'] : 0);


$sql="select * from achat where location='".$radionchk."' AND ";
$result = mysql_query($sql);
    
$operateur= ($allcriteres == "oui") ? " AND " : " OR ";

if ($pays_combo != "0")
    {
        $sql.= " pays like '%".$pays_combo."%' ".$operateur;
    }
if ($sub_ville != "0")
    {
        $sql.= " ville like '%".$sub_ville."%' ".$operateur;
    }
if ($sub_type_achat != "0")
{
    $sql.= " type_achat like '%".$sub_type_achat."%' ".$operateur;
}
if ($sub_type_logement != "0")
{
        $sql.= " type_logement like '%".$sub_type_logement."%' ".$operateur;
}
if ($meublier != "0")
{
        $sql.= " meuble like '%".$meublier."%' ".$operateur;
}

$sql=substr($sql,0,-4);// supprime le dernier opérateur de trop, vu que l'opérateur est ajouté en fin de chaine !!
	
$page_en_cours = (isset($_GET['page'])) ? $_GET['page'] : 0;  // récupération du numero de page, si POST['page'] existe sinon 0
$page_affichee = ($page_en_cours + 1); 

$url = "./pageparpage.php?page="; // ici l'url de ta page, attention de laisser " ?page= " 

$debut = $page_en_cours * $nb_affichage_par_page; //début de listage des données dans la base de données 	 
	 
$sql.= ' ORDER BY prix LIMIT '.$debut.','.$nb_affichage_par_page;

$res = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
$total = mysql_num_rows($res);

$nb_pages = ceil($total / $nb_affichage_par_page); // nombre de pages a afficher

if ($nb_pages > 0)
{
	$barre_nav = "";
	if($nb_pages > 1)
    {
		if($page_en_cours > 0)
        {
            for($i = 0; $i < $page_en_cours; $i++)
            {
                $p = $i + 1;				
				$lien = $url . $i.'&pays_combo=' .$pays_combo
				.'&sub_ville=' .$sub_ville
				.'&sub_type_achat=' .$sub_type_achat
				.'&sub_type_logement=' .$sub_type_logement
				.'&meublier=' .$meublier
				.'&radionchk=' .$radionchk;
				
                $barre_nav .= '<a href="'. $lien .'" title="page '. $p .'">'. $p .'</a> | ';
            }
        } 
		$page_affichee = "Annonce ". $page_affichee ." sur un total de ". $nb_pages; 
	}
	else
	{
		/* Nous n'avons qu'une seule page, on peut se contenter d'afficher juste page 1/1 */
        $barre_nav .= "page 1/1"; 
	}

	 
	
?>
<table width='600' border='0' cellpadding='0' cellspacing='2' bgcolor='#802A47'>
	<tr>
		<td width='50%' align='left' class='txt1'>
			<font color='#ECC600' size='2'><b><? echo $page_affichee; ?></b></font>
		</td>
       <td align="right" class='txt1'>
			<font color='#ECC600' size='2'>Visualisation de: </font>
       </td>
    </tr>
</table>
<?               
    $k=0;
    while ($row = 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 = "#802A47";
        else
            $color = "#9C456A";  
		?>	
       <table width='600' border='0' cellpadding='0' cellspacing='2' bgcolor='#77111C' >
		<tr>
			<td bgcolor='$color' align='left' width='367' class='txt1'> 
				<font color='#F4F4F4'>&nbsp;<strong><u>Annonce N° $reference</u></strong><br> 
			
				<? 
				echo '<strong>'.$type_achat.' à '.$ville; 
				if ($surface !=0)
					echo"de surface ".$surface." m2";
					
				echo"<br> ".$description." </strong><br>";
				
                $sql_select2 = "select * from client where reference = '".$reference."'";
                $result2 = mysql_query($sql_select2);
                $row2 = mysql_fetch_array($result2);
				
				$reference = $row2["reference"];
                $tel  = $row2["tel"];
                $gsm1 = $row2["gsm1"];
                $gsm2 = $row2["gsm2"];
                if (!empty($tel))
                {
                    echo"<font color='#FFFFFF'><b><u>Tél.</u>".$tel."</b></font>";
                }    
                if (!empty($gsm1))
                {
                    echo"<font color='#FFFFFF'><b><u>GSM 1.</u>".$gsm1."</b></font>";
                }    
                echo"<br></font></td>
                <td bgcolor='".$color."' width='106' align='center' class='txt1'><font color='#FFFFFF'> <b>Prix :<br>";
                
				if ($prix != 0)
                    echo $prix;
                else
                    echo "N.D";
					
                echo"</b></font></td></tr></table>";
				
				echo $barre_nav; // affichage de la barre de naviagtion
                                
    }
}
else echo "Recherche vide"; // a toi de mettre une belle phrase  ;-)
?>

</body>
</head>
</html>
bon courage :wink:

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

30 oct. 2005, 01:42

puisque j'ai encore un fois posté en tant qu'invité #-o
je ne peut éditer... :oops:

j'ai oublier de préciser que j'ai remis le code correspondant a la séléction de l'opérateur
$operateur= ($allcriteres == "oui") ? " AND " : " OR "; 
que tu avais supprimé pour cause de difficulté, tu peut donc remttre la case a coché correspondante :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 151 Messages

30 oct. 2005, 02:42

Merci beaucoup Truc, une question, comment je dois naviguer d'une page à une autre ?! car là je ne visualise que les annonces que j'ai sur la 1ere page !

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

30 oct. 2005, 02:58

eh bien il doit y avoir des liens en bas de page du style:
1 | 2 | 3 | 4

mais ceci peut varier suivant la requete si tu n'a pas assez d'annonces pour afficher sur plusieurs pages tu n'aura que "page 1/1" en bas de la page.

fait un test avec une requete sans critères et tu met la variable $nb_affichage_par_page a 2, par exemple et si tout va bien tu devrai avoir des liens

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute