John Taylor-Johnston wrote:
My question is simnple. I want to randomly select a row in a mysql table. I have a primary id.

<?php
$server = "localhost";
$user = "foo";
$pass = "foo";
$db="foo_db";
$table="foo_table";
$myconnection = mysql_connect($server,$user,$pass);
mysql_select_db($db,$myconnection);

$sql = ??;

$news = mysql_query($sql) or die(print "<font color=red>".mysql_error()."</font>");
   while ($mydata = mysql_fetch_object($news))
   {
??
   }
?>


If your table isn't too big, it's fine to do:

SELECT * FROM mytable ORDER BY RAND() LIMIT 1

If you've got more than a few 10,000s of rows, you might want to look at other ways, like selecting a random row based on the primary key by generating a random number in PHP before executing the SQL.

Jasper

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to