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 :

Utilisation de "Order by" [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2013
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 50
    Par défaut Utilisation de "Order by"
    bonjour,
    Voici mon problème : Je veux effectuer une requête pour afficher mes champs dans un certain ordre. L'ordre est sélectionner via un formulaire et récupérer en POST.
    Lorsque je veux trier par "id_room", ça ne marche pas. Il le tri comme son envie !
    exemple :
    1095
    139
    171
    241
    415
    56
    799
    908
    114
    209
    7
    792
    Voilà mon code qui me sert pour ma requête :

    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
    <?php
    	$req = mysql_query('SELECT * FROM t_validation ORDER BY   t_validation.'.$_POST["orderby"].' ASC') or die('Échec de la requête : ' . mysql_error());
    	while($result = mysql_fetch_array($req)) {
    		echo '<input type="hidden" name="id_val" value="'.$result["id_validation"].'">';
    		echo '<input type="hidden" name="id_room" value="'.$result["id_room"].'">';
    		echo '<input type="hidden" name="id_student" value="'.$result["id_student"].'">';
    		echo "<tr>" ;
    		echo "<td>".$result['id_validation']."</td>";
    		echo "<td>".$result['id_student']."</td>";
    		echo "<td>".$result['id_room']."</td>";
    		echo "<td>".$result['priority_choice']."</td>";
    		echo '<td><input type="submit" id="valid" name="valid" value="Accepted" /></td>';
    		echo "</tr>";
    	}
    	?>
    Merci de votre aide

    cordialement,

  2. #2
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Tu as vérifié ta requête dans phpMyamin pour voir si cela donne le même résultat ?
    Peut-être un problème avec le type de données défini pour id_room ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2013
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 50
    Par défaut
    Salut,
    sur PhpMyAdmin l'ordre ne corresponds pas non plus.

    la requête :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT * 
    FROM  `t_validation` 
    ORDER BY  `t_validation`.`id_room` ASC 
    LIMIT 0 , 30

    id_room est un Varchar. J'ai environ 2000 entrées, et du coup il me refusait le INT.
    Mon problème doit venir de là.

  4. #4
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Citation Envoyé par Floyus Voir le message
    id_room est un Varchar. J'ai environ 2000 entrées, et du coup il me refusait le INT.
    y'a pas de rapport avec le nombre d'entrées. INT accepte des valeurs entre -2147483648 et 2147483647

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2013
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 50
    Par défaut
    D'accord, mais pourtant lorsque que je veux changer, phpmyadmin m'affiche une erreur :
    #1439 - Display width out of range for column 'id_room' (max = 255)

  6. #6
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Y'a un pb quelque part car 255 ressemble plutôt à du TINYINT unsigned (la doc est )

    EDIT Ou alors 255 c'est la taille max d'un varchar...

  7. #7
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2013
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 50
    Par défaut
    Oui j'ai bien regardé la doc.
    Je crois que je viens de trouver mon erreur. Lorsque je voulais changer pour mettre en INT, j'ai laisser dans "Taille des Valeurs" 2000. Et la je viens de supprimer ça, et la modification a fonctionné...

    Merci de ton aide !

    A bientôt

  8. #8
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    oui ok, et du coup ton tri se fait correctement maintenant je suppose.

  9. #9
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2013
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 50
    Par défaut
    Oui oui le tri fonctionne très bien maintenant.

    Merci

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

Discussions similaires

  1. Quote et double quote
    Par aktos dans le forum Langage
    Réponses: 8
    Dernier message: 05/01/2007, 19h55

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