2010-08-02 3 views
0
$qry = mysql_query("SELECT test1,test2 FROM ".$table." ORDER BY RAND() LIMIT 6"); 

     $start = new WP_Query('showposts=6&orderby=rand'); 

     if ($start->have_posts()) : while($start->have_posts() && $rows = mysql_fetch_assoc($qry)) : $start->the_post(); 

     $test1 = $rows['test1']; 

     $test2 = $rows['test2']; 

Je peux manipuler la boucle de wordpress comme ceci .... Le problème apparaît quand ma table n'a pas 6 valeurs à l'intérieur, cela arrive parfois. Ensuite, ma page d'index ne montre pas tous les messages. Par exemple, si j'ai 3 entrées à l'intérieur de la table, la boucle n'affiche que 3 messages au lieu de 6.Wordpress, requête externe dans la boucle

Ce serait génial si je peux faire répéter la requête ... pour fournir la boucle.

Une idée?

Répondre

1
$qry = mysql_query("SELECT test1,test2 FROM ".$table." ORDER BY RAND() LIMIT 6"); 

$start = new WP_Query('showposts=6&orderby=rand'); 

if ($start->have_posts()) : while($start->have_posts()) : $start->the_post(); 
    $rows = mysql_fetch_assoc($qry) 
    if (!$rows) { 
    mysql_data_seek($qry,0); 
    $rows = mysql_fetch_assoc($qry); 
    } 
+0

je pense qu'il est briliant, quoique cela ne fonctionne pas Attention: mysql_data_seek(): argument fourni est pas une ressource de résultat MySQL dans/home/content/d/d/a/... – webmasters

+0

mon mauvais , Je pense que vous êtes censé utiliser $ qry dans le mysql_data_seek() – vinhboy

+0

merci, n'a pas lu votre commentaire, et l'a découvert pour moi-même. Encore beaucoup de thx's;) vous êtes un mec intelligent – webmasters

1

Probablement pas la réponse la plus efficace, mais vous pouvez faire une requête avant celle-ci pour obtenir le nombre d'entrées dans la table et ensuite mettre dans la partie 'showposts = $ numposts' de la requête que vous avez ici.

Questions connexes