- Statut : non résolu
- Ce sujet contient 6 réponses, 3 participants et a été mis à jour pour la dernière fois par niknikko, le il y a 9 années et 2 mois.
-
AuteurMessages
-
27 septembre 2015 à 11 h 53 min #554621
Bonjour les wordpress francophone,
Ma configuration WP actuelle
– Version de WordPress : 4.3.1
– Version de PHP/MySQL :PHP 5.4 normalement / MYSQL v.5.5
– Thème utilisé : Sparkling
– Extensions en place : askimet
– Nom de l’hebergeur : OVH
– Adresse du site : nikubik.comProblème(s) rencontré(s) : J’ai un étrange problème. Car j’effectue une requête SQL qui fonctionne quand je choisis une catégorie (= 9), mais pas quand je veux en exclure une (!= ou <> 9).
Je me demande pourquoi il n’interprète pas correctement le ‘non égal’. J’ai même essayé NOT LIKE (9).
Je vous mets ma requête:$resultats = $wpdb->get_results(
« SELECT *
FROM {$wpdb->prefix}posts
INNER JOIN {$wpdb->prefix}term_relationships
ON {$wpdb->prefix}posts.ID = {$wpdb->prefix}term_relationships.object_id
WHERE {$wpdb->prefix}term_relationships.term_taxonomy_id != 9
ORDER BY {$wpdb->prefix}posts.post_date DESC »
);Si vous avez des pistes, aidez moi,
Nicolas27 septembre 2015 à 12 h 44 min #10227511- 9 doit marcher , que veut tu dire exactement par « n’interprête pas correctement » ?
2- à la place, utilises wp_query avec query_tax, car tu vas être super content dans quelques mois, de recoder toutes tes requêtes de ce type à cause du changement de structure des tables27 septembre 2015 à 13 h 00 min #1022752Merci de me répondre !
1. 9 ne fonctionne pas. C’est pour cela que je dis qu’il n’interprète pas correctement. Le = 9 me retourne bien les articles de la catégorie 9 uniquement. Le 9 me retourne tous mes articles, y compris ceux de la catégorie 9.
2. ah ça je ne connais pas. Je pourrai générer une liste de liens d’articles d’une catégorie précise avec ?
Et pas au courant non plus de ce changement de structure de tables !27 septembre 2015 à 13 h 23 min #1022753edit: ah si, j’ai essayé wp_query, mais la boucle ne retourne que les 10 derniers articles. Même si je suis sur une autre page. L’intérêt du sql pour moi était d’avoir les informations de la base de donnée en dehors de la boucle justement.
27 septembre 2015 à 17 h 35 min #1022754Je m’auto-réponds si ça peut aider quelqu’un. Je n’ai pas trouvé comment faire fonctionner l’opérateur ‘non egal’ en sql. Par contre j’ai pu obtenir le même résultat avec wp_query. J’avais déjà essayé Lumière de lune, mais que tu m’en parles à nouveau, j’ai persisté, et j’ai trouvé le posts_per_page=-1 qui permet de récupérer tous les posts et pas seulement les 5 ou 10 derniers. De la même manière il existe category__not_in pour exclure une catégorie (ce qui ne fonctionne pas en requête sql pur).
$quer = new WP_Query( ‘category_name=eparpille & category__not_in=4 & posts_per_page=-1 & order=asc’ );
while ($quer->have_posts()) : $quer->the_post(); ?>
<a href=" » rel= »bookmark » title= »Lien permanent vers « >
<?php endwhile;
wp_reset_query(); // Restaure les données modifiées par the_post().Problème résolu.
27 septembre 2015 à 18 h 35 min #1022755En SQL c’est !=
27 septembre 2015 à 22 h 36 min #1022756C’est gentil mais ça ne fonctionne pas. Autant le = marche, autant ni le != ni le ni le NOT LIKE ne fonctionnent. Bref, j’ai pu faire ce que je voulais.
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.