[Résolu] Problème interprétation ‘non egal’ != dans une requête SQL (Créer un compte)

  • Statut : non résolu
7 sujets de 1 à 7 (sur un total de 7)
  • Auteur
    Messages
  • #554621
    niknikko
    Participant
    Initié WordPress
    35 contributions

    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.com

    Problè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,
    Nicolas

    #1022751
    Lumiere de Lune
    Participant
    Maître WordPress
    20531 contributions

    1- 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 tables

    #1022752
    niknikko
    Participant
    Initié WordPress
    35 contributions

    Merci 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 !

    #1022753
    niknikko
    Participant
    Initié WordPress
    35 contributions

    edit: 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.

    #1022754
    niknikko
    Participant
    Initié WordPress
    35 contributions

    Je 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.

    #1022755
    didier07
    Participant
    Maître WordPress
    1964 contributions

    En SQL c’est !=

    #1022756
    niknikko
    Participant
    Initié WordPress
    35 contributions

    C’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.

7 sujets de 1 à 7 (sur un total de 7)
  • Vous devez être connecté pour répondre à ce sujet.