2010-04-19 8 views
1

Est-ce que quelqu'un sait comment je remplirais les données de la base de données mysql dans fb: aléatoire et itérer à travers elle, pour choisir une citation aléatoire?itérer à travers fb: aléatoire

fb: aléatoire

$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>'); 

données 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>"; 
} 

Répondre

0

En général, ce que je fais quand je veux prendre une citation aléatoire ou autre donnée est que je sélectionne tous les id s dans la base de données, alimentez-les dans un tableau, puis choisissez au hasard dans le tableau. Ensuite, utilisez le id pour choisir celui que vous voulez.

Par exemple:

$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

que je fais déjà. mais je voudrais savoir comment je ferais cela en utilisant le tag fb: random? – input

Questions connexes