IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Ajouter un order by à ma requête [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 35
    Par défaut Ajouter un order by à ma requête
    bonsoir a tous,
    j ai un petit soucis, je me perd dans les imbrications...
    je voudrais rajouter un order by dans ma requete, mais j ai bcp de mal....

    voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
    <?
     
    include("connect.php5"); 
    if(isset($action)) {
    	//--------------------- recuperation des enregistrements ---------
    	$tab_champs = array("type","type_bien","nb_piece", "surface");
    	$query = "select * from bien  where";
    	$i=0;
    	$ajouter_and = false;
    	foreach($rechercher as $champs) {
    			if($champs!="0") {
     
    			if($ajouter_and) { 
    				$query .= " and "; 
     
    			} else {
    				$query .= " ";
    			}
    			$ajouter_and = true;
    		if($i==3){
     
    			if($champs!="0") {
    			$condition = '';
    			switch ($champs) 
    			{
     
    			   case 20:
    					$condition = "surface >= '0' AND surface <= '20'"; 
    					break;
    			   case 50: 
    					$condition = "surface > '21' AND surface <= '50'";
    					break;
    			   case 75: 
    					$condition = "surface > '51' AND surface <= '75'";
    					break;
    			   case 100: 
    					$condition = "surface > '76' AND surface <= '100'";
    					break;
    				case 150: 
    					$condition = "surface > '101' AND surface <= '150'";
    					break;
    			   case 200: 
    					$condition = "surface > '151' AND surface <= '200'";
    					break;
    			   case 250: 
    					$condition = "surface > '201' AND surface <= '250'";
    					break;
    			   case 300: 
    					$condition = "surface > '251' AND surface <= '300'";
    					break;
    			  case 301: 
    					$condition = "surface > '300'";
    					break;	  
    				}	
    			}
    			$query .= $condition;
    		} else {
    			$query .= $tab_champs[$i]."='".$champs."'";
    		}
    		}
    		$i++;
    	}
    	if($ajouter_and==false)  $query .= " 1";
     
    	$result = mysql_query($query);
    	$nb_bien = mysql_num_rows($result);
    }
    ?>
    par avance merci
    Bonne soiree
    francescu

  2. #2
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Bonjour,

    Ta requête n'est pas complète :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = "select * from bien where"; ???????
    Where quoi ?

    Pour le ORDER BY :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $query = "SELECT * FROM bien ORDER BY LeChampQueTuveuxTrier";
    Tu peux rajouter ASC (Ascendant) ou DESC (descendant)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $query = "SELECT * FROM bien ORDER BY LeChampQueTuveuxTrier DESC";

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 35
    Par défaut
    hello,
    la suite du where se trouve dans la boucle, la requete fonctionne tres bien (c est une liste de choix en fait )
    L exemple que tu me montres ne contient pas de where.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = "SELECT * FROM bien WHERE surface >150 ORDER BY LeChampQueTuveuxTrier DESC";
    sur une condition simple c est facile, mais la je bloque sur toutes ces conditions et boucles qui m embrouille

    merci

  4. #4
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Un petit conseil, si tu ne veux plus te perdre et voir l'évolution de ta requête au fils des tests et des imbrications, fais un petit:Cela sera plus clair.

  5. #5
    Membre chevronné
    Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2004
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 352
    Par défaut
    Et avant ton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $result = mysql_query($query);
    ?

  6. #6
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Aux temps pour moi, je n'avais pas compris.

    Alors à la fin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $query .= " ORDER BY TonChamp" ;
    $result = mysql_query($query) or die(mysql_error());

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 35
    Par défaut
    merci infiniment
    bonne soiree

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ajout d'un module de requêtes LDAP sur un serveur Asterisk
    Par bouelos dans le forum Autres Logiciels
    Réponses: 7
    Dernier message: 22/05/2007, 09h14
  2. ajouter le résultat d une requête à la variable d une table
    Par Claire07 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 19/06/2006, 14h03
  3. Ajout de données dans une requête
    Par remi59 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 15/06/2006, 10h30
  4. Clause order by pour requête sur DB2
    Par Clotilde dans le forum Langage SQL
    Réponses: 3
    Dernier message: 19/01/2006, 10h21
  5. ajouter des données dans une requête htttp en js
    Par jeromejanson dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/10/2005, 15h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo