Order by

travailmichel Messages postés 37 Date d'inscription mercredi 22 septembre 2004 Statut Membre Dernière intervention 13 décembre 2007 - 21 mars 2005 à 18:24
travailmichel Messages postés 37 Date d'inscription mercredi 22 septembre 2004 Statut Membre Dernière intervention 13 décembre 2007 - 24 mars 2005 à 12:15
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

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
21 mars 2005 à 23:05
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>
0
travailmichel Messages postés 37 Date d'inscription mercredi 22 septembre 2004 Statut Membre Dernière intervention 13 décembre 2007
22 mars 2005 à 10:52
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
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
22 mars 2005 à 16:13
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>
0
tardigrade Messages postés 208 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 2 décembre 2008
23 mars 2005 à 12:02
monte la valeur de ton error_reporting à E_ALL & ~E_STRICT
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
23 mars 2005 à 12:11
Laisse tout à E_ALL

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




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
travailmichel Messages postés 37 Date d'inscription mercredi 22 septembre 2004 Statut Membre Dernière intervention 13 décembre 2007
24 mars 2005 à 12:15
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
0
Rejoignez-nous