2010-04-19 105 views
1

没有人知道我会如何填充数据从MySQL数据库fb:随机并遍历它,选择一个随机报价?迭代通过fb:随机

FB:随机

$facebook->api_client->fbml_setRefHandle('quotes', 
'<fb:random> 
<fb:random-option>Quote 1</fb:random-option> 
<fb:random-option>Quote 2</fb:random-option> 
</fb:random>'); 

MySQL数据:

$rowcount = mysql_result($result, 0, 0); 
$rand = rand(0,$rowcount-1); 

$result = mysql_query("SELECT cQuotes, vAuthor, cArabic, vReference FROM thquotes LIMIT $rand, 1", $conn) 
    or die ('Error: '.mysql_error()); 


$row = mysql_fetch_array($result, MYSQL_ASSOC); 
if (!$row) { 
    echo "Empty"; 
} 
else{ 

$fb_box = "<p>" . h($row['cArabic']) . "</p>"; 
$fb_box .= "<p>" . h($row['cQuotes']) . "</p>"; 
$fb_box .= "<p>" . h($row['vAuthor']) . "</p>"; 
$fb_box .= "<p>" . h($row['vReference']) . "</p>"; 
} 

回答

0

通常,当我想拿起一个随机的报价或其他数据块我做的是我选择的所有id的将它们提供给数组,然后从数组中随机选择。然后用id挑选出你想要的。

例如:

$sql = "SELECT `id` FROM `quotes`;"; 
$result = mysql_query($sql); 
$count = mysql_num_rows($result); 

$id = rand(1, $count); 

$sql = "SELECT `text`,`author` FROM `quotes` WHERE `id`='$id' LIMIT 1;"; 
$result = mysql_query($sql); 
$quote = mysql_fetch_assoc($result); 
+0

我已经这样做。但我想知道我将如何使用fb:random标签来做到这一点? – input 2010-04-20 09:54:10