Order by

Signaler
Messages postés
37
Date d'inscription
mercredi 22 septembre 2004
Statut
Membre
Dernière intervention
13 décembre 2007
-
Messages postés
37
Date d'inscription
mercredi 22 septembre 2004
Statut
Membre
Dernière intervention
13 décembre 2007
-
bonjour à tous

j'ai un soucis pour afficher ma requete avec un ORDER BY (somme).

je vois pas trop comment faire car je fais une autre requete d'apres les reponses d'un formulaire de recherche

voila mon code actuellement sans la requete order

$r .= " SELECT * FROM biens WHERE 1// echo $data['somme'];
if($logement=$_POST["logement"]) { $r ." AND logement ('" . implode("'&&'" ,$_POST["logement"]) . "')";
//echo $r;
}
if($moyen=$_POST["moyen"]) { $r ." AND moyen ('" . implode("','" , $_POST["moyen"]) . "')";
//echo $r;
}

if($pr!=0) { // $r ." AND prix ('" . implode("','" , $_POST["pr"]) . "')"; $r ." AND prix ('".($_POST['pr'])."')";
//echo $r;
}
//else($_POST["nb"]!=0){}
if($nb!=0) { $r ."AND nb_piece ('".($_POST['nb'])."')";
//echo $r;
}

$res=mysql_query($r);
$nb=mysql_num_rows($res);



if($nb!='0') {

echo "<tr><td bgcolor='white' colspan='4'>retour</td></tr>";

while( $data2 = mysql_fetch_array($res) ) {
//$vu=$data2['vu_bd'];
$id=$data2['id'];
$ville=$data2['ville'];
$reference=$data2['reference'];
$photo_centrale=$data2['photo_centrale'];
$photo1=$data2['photo1'];
$photo2=$data2['photo2'];
$photo3=$data2['photo3'];

voila le code actuel marche tres bien pour m'afficher les reponses mais comment lui dire que je veux que ce soit dans l'ordre du prix(somme)

merci d'avance

6 réponses

Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,



les $variable=$_POST['machin'] pourront ne pas fonctionner avec l'error reporting sur ALL.



if(isset($_POST['machin']))

{

$variable=$_POST['machin'];

}



Ensuite pour ta requête rajoute à la fin un ORDER BY prix DESC (ou ASC)



a +

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
37
Date d'inscription
mercredi 22 septembre 2004
Statut
Membre
Dernière intervention
13 décembre 2007

salut Anthomicro

bon yon truc j'arrive pas à l'adapter a mon code si je fais ça il ne recupere plus les reponses du form avant...

voila ce que j'ai mis (je suis pas tres doué en php...)

if(isset($_POST['moyen']))
{
$moyen=$_POST['moyen'];
}
if(isset($_POST['logement']))
{
$logement=$_POST['logement'];
}
if(isset($_POST['pr']))
{
$pr=$_POST['pr'];
}
if(isset($_POST['nb']))
{
$nb=$_POST['nb'];
}


$r = " SELECT * FROM biens WHERE nb_piece='$nb' AND logement='$logement' AND moyen='$moyen' AND prix='$pr' ORDER BY somme DESC";
$res=mysql_query($r);
$nb=mysql_num_rows($res);

voila avaec ça je ne recupere rien..

si tu vois ou je me tropme ça m'arrangerait
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Bah il se peut que tu n'aies aucun enregistrement dans la table, ou qu'il y ait une des 4 variables en $_POST qui n'existe pas.




<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
208
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
2 décembre 2008

monte la valeur de ton error_reporting à E_ALL & ~E_STRICT
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Laisse tout à E_ALL

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
37
Date d'inscription
mercredi 22 septembre 2004
Statut
Membre
Dernière intervention
13 décembre 2007

salut bon en fait j'ai trouvé il sufffit de mettre

$r .= "order by prix" ;

avant le
$res=mysql_query($r);
$nb=mysql_num_rows($res);

et voila

merci quand meme