web-dev-qa-db-fra.com

Limiter le nombre de résultats renvoyés

Comment puis-je limiter le nombre de résultats renvoyés?

$images = $wpdb->get_col("
    SELECT ID FROM $wpdb->posts
    WHERE post_type = 'attachment'
    AND ID in ($meta)
    ORDER BY menu_order ASC
");
2
JonnyPlow
$images = $wpdb->get_col("
    SELECT ID FROM $wpdb->posts
    WHERE post_type = 'attachment'
    AND ID in ($meta)
    ORDER BY menu_order ASC
    LIMIT 5
");

Comme @Kaiser a suggéré que vous puissiez spécifier une plage (5ème à 20ème résultats, 15 résultats au maximum sont renvoyés au maximum) comme ceci:

$images = $wpdb->get_col("
    SELECT ID FROM $wpdb->posts
    WHERE post_type = 'attachment'
    AND ID in ($meta)
    ORDER BY menu_order ASC
    LIMIT 5,20
");
2
Ashfame

Pourquoi ne pas simplement utiliser get_posts() ?

<?php
$attachments = get_posts( array(
    'post_type' => 'attachment', // post attachments
    'post_mime_type' => 'image', // only images
    'post_parent' => $post->ID,  // children of the current post
    'number_posts' => 5          // <-- THIS IS THE NUMBER OF POSTS LIMIT
) );
?>

Ialwayspréfère les appels de fonction aux requêtes de base de données brutes.

2
Chip Bennett

En complément de @Ashfame Réponse: Vous pouvez non seulement définir une limite "stricte", mais également un range , en utilisant LIMIT 1,100 qui vous apporterait les résultats 1-100.

0
kaiser