CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet : PHP et PDO, le order by ne fait rien

DébutPage précedente
1
Page suivantePage suivante
ploto32 ploto32
MP
Niveau 10
19 février 2017 à 21:23:36

Bonsoir,
j'ai un problème, en gros je crée une requête qui me renvoie bien les résultats dans un certain ordre :ok: mais dans le php, on dirait que le fetch ne prend pas dans l'ordre, donc mon order by ne change pas l'ordre dans la page. :ouch:

Mon code :
<?php $query=$bdd->prepare('SELECT * FROM table WHERE machin = :truc ORDER BY :sort_by'.$desc.' LIMIT :firstMessageToShow, 20'); $query->bindValue(':firstMessageToShow', $firstMessageToShow,PDO::PARAM_INT); $query->bindValue(':sort_by', $sort_by,PDO::PARAM_STR); $query->execute(); if ($query->rowCount()<1) { echo'<p>Pas de message. </p>'; } else { //Si tout roule on affiche nos propositions qu'on remplit avec une boucle while ($data_proposition = $query->fetch()) { ?> Pseudo : <?php echo $data_proposition['pseudonym_user']; ?> <?php } ?>

Je pense qu'il y a une suptilité de PDO qui m'échappe.

:merci:

arsh222 arsh222
MP
Niveau 10
20 février 2017 à 10:24:00

il y a quoi dans $desc ? si il n'y a pas d'espace avant c'est peut-être ça
sinon fais un var_dump de ta requête sql pour voir

ploto32 ploto32
MP
Niveau 10
20 février 2017 à 17:38:33

On ne peut pas faire de var_dump dans ce cas puisque que le fetch ne donne accès qu'à une ligne à la fois.

Sinon j'ai trouvé la solution : http://stackoverflow.com/questions/2542410/how-do-i-set-order-by-params-using-prepared-pdo-statement :cool:

En gros, un order ne s'utilise pas avec :order dans la requête, mais il faut mettre une variable $order dans le string de la requête (du style ORDER BY '.$order.' DESC). :cute:

Merci quand même. :ok:

darkiron_natty darkiron_natty
MP
Niveau 8
21 février 2017 à 06:55:53

Enlève les bind qui sert à rien . Check la requête [[sticker:p/1kkn]]

Message édité le 21 février 2017 à 06:56:22 par darkiron_natty
DébutPage précedente
1
Page suivantePage suivante
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
Infos 0 connecté(s)

Gestion du forum

Modérateurs : Thymotep
Contacter les modérateurs - Règles du forum

Sujets à ne pas manquer

La vidéo du moment