@Carouge10 ah merde !!! en effet
du coup il ne lui reste que la solution de trier son tableau
et il vaut mieux réfléchir au type de fetch, éviter fetch_both qui complique la structure du tableau
Bonsoir,
J'aimerais organiser les posts de mon blog, (le plus récent en haut et donc les plus anciens en dessous), vu que j'ai l'intention d'en poster souvent j'ai décidé de me baser les secondes entre chaque post (car je ne peux pas faire d'order by avec ma requête).
J'utilise cette requête :
Ma question est donc : Selon moi comme je pourrais m'y prendre pour utiliser les secondes pour organiser mes posts ?
12 réponses
Salut,
Si tu ne peux pas utiliser ORDER BY, parcours tes resultats insères chacun d'eux dans un même tableau [strtotime(ma date) => mon resultat]
Il indique quel erreur pour le ORDER BY ?
Du coup , vous pouvez l'utiliser comme le montre Huggy. Soit par l'id, soit par la date.
Salut,
Ça me parait impossible sans 'ORDER BY',
pourquoi est-ce que tu ne peux pas l'utiliser ?
Bonjour,
J'attends aussi de savoir la raison.
Par contre cela est possible de faire ce que tu demandes sans "order by".
On sait que quand on fait une insertion dans la BDD, celui-ci est mis en dernier. Donc ils sont trier du plus ancien au plus récent.
Il suffit, une fois les données récupérer de la BDD, d'inverser le tableau contenant les résultats afin d'avoir le bonne ordre.
Si on suit @slk + @Carouge10
il suffit de trier par l'id (autoincrement) en mode descendant
En pratique on ne récupère jamais toute une table, on pagine par 10 ou 20 à la fois (LIMIT)
Salut,
La solution d'un ORDER BY sur la date est bien mieux que sur l'id parce que tu ne contrôles pas l'id. Si tu veux modifier l'ordre d'apparition, tu ne peux pas.
@huggy
Sauf que là, tu ne réponds pas à sa demande car il ne peut pas utiliser "order by". Pourquoi, nous ne le savons pas encore.
Bah "je ne peux pas", parce que j'ai fais confiance a mon IDE, celui-ci soulignait "Order by", et que ça me semblait drole d'appliquer un order by sur ce type de requête. Oui il n'y a pas de réel raison.
C'est quoi ton IDE ?
Il faut qu'un IDE soit très intelligent pour analyser le contenu des chaines et en déduire le langage utilisé dedans (ici SQL) et de quel SGBD il s'agit (syntaxe différente ...)
Soit par l'id, soit par la date.
Non, par la date. Il n'y a pas de raison de le faire par l'ID. Cf mon message précédent.
$req = $cnx->query("SELECT * FROM posts ORDER BY created DESC")->fetchAll(); me parait le mieux effectivement.
created peut etre une colonne de type "timestamp" ou encore "datetime" peut importe.