Просмотр поста

.
valik619

venom, Думаю ты уже читал об этом варианте в интернете, я юзаю именно его, во первых минимальная нагрузка на базу, во вторых на личном опыте проверено что не использует много оперативки даже при таблице с 2400+ записями, ну и понятен... С этим вариантом исключены ошибки с несуществующими ИДами, так что смело можешь добавлять админку

$query="SET group_concat_max_len=4294967295";
mysql_query($query);
 
// Выбрать список всех ID из таблицы
$query="SELECT GROUP_CONCAT(`id` SEPARATOR ',') AS `id` FROM `table`";
$sql_result=mysql_query($query);
$row=mysql_fetch_array($sql_result);
mysql_free_result($sql_result);
 
// Преобразовать строку в массив ID
$id_list=explode(',',$row['id']);
unset($row);
 
// Выбрать случайное значение ID из массива    
$id=$id_list[rand(0,count($id_list)+1)];
unset($id_list);
 
// Выбрать строку со случайным ID 
$query=("SELECT * FROM `table` WHERE `id`= '$id'");
$sql_result=mysql_query($query);
$row=mysql_fetch_array($sql_result);
mysql_free_result($sql_result);