я вот написал кусочек кода:
while($i<$kolichestvo){
$query1 = "SELECT peremennaya FROM `acc_users` where acc='1' AND id";
$res1 = mysql_query($query1);
$row1 = mysql_fetch_array($res1);
//тут запись в массив
$i++;
}
как реализовать вытаскивание peremennaya, рандомно по id (тоесть мы берем рандомно id и вытаскиваем peremennaya) я в запросе не знаю как id рандомно выставить.
Ну и вопрос как это все оптимизировать, тк таблица имеет много много строк (около кк).
Вытаскивать нужно 1, 2, 4 строки..
Спустя 2 минуты, 29 секунд (11.06.2011 - 17:39) sharki написал(а):
для рандома можно использовать mysql функцию RAND()
Спустя 3 минуты, 39 секунд (11.06.2011 - 17:43) tmt0086 написал(а):
Цитата (sharki @ 11.06.2011 - 14:39) |
для рандома можно использовать mysql функцию RAND() |
это понятно! но вот как? просто нужно же указать мин и макс значения (или нет?)
Спустя 6 минут, 12 секунд (11.06.2011 - 17:49) sharki написал(а):
ну имитировать min max можно
... and `id` BETWEEN 1 and 40
ORDER BY RAND()
Спустя 1 минута, 40 секунд (11.06.2011 - 17:51) tmt0086 написал(а):
Цитата (sharki @ 11.06.2011 - 14:49) |
ну имитировать min max можно
|
а не имитировав, возможно?
Спустя 2 минуты, 2 секунды (11.06.2011 - 17:53) sharki написал(а):
вроде как нет, в мане такого варианта нет
Спустя 12 минут, 59 секунд (11.06.2011 - 18:06) tmt0086 написал(а):
sharki, вот так сделал, все вроде как работает!
эта конструкция не будет тупить при большом кол-ве строк и увеличении кол-ва вытаскиваемых значениях? как оптимизировать можно, есть у кого нить мысли?
$kolichestvo = '2';
$i = 1;
while($i<$kolichestvo){
$query1 = "SELECT ljname, ljpass FROM `acc_users` where acc='1' AND `id` ORDER BY RAND()";
$res1 = mysql_query($query1);
$row1 = mysql_fetch_array($res1);
$number = 1+$i;
$arr["name".$number] = $row1['peremennaya'];
$i++;
}
эта конструкция не будет тупить при большом кол-ве строк и увеличении кол-ва вытаскиваемых значениях? как оптимизировать можно, есть у кого нить мысли?
Спустя 2 минуты, 32 секунды (11.06.2011 - 18:08) sharki написал(а):
непонятные манипуляции ты совершаешь ты пробовал без цклов и в конце запроса добавить LIMIT 2
Спустя 1 минута, 32 секунды (11.06.2011 - 18:10) tmt0086 написал(а):
Цитата (sharki @ 11.06.2011 - 15:08) |
непонятные манипуляции ты совершаешь ты пробовал без цклов и в конце запроса добавить LIMIT 2 |
ну вот такой я.. а как потом я буду в массив заносить значения, если лимит будет. (можешь пример показать?)
Спустя 3 минуты, 25 секунд (11.06.2011 - 18:13) sharki написал(а):
$query1 = "SELECT ljname, ljpass FROM `acc_users` where acc='1' ORDER BY RAND() LIMIT 2";
$res1 = mysql_query($query1);
$number = 1;
while($row1 = mysql_fetch_assoc($res1)) {
$arr["name".$number] = $row1['peremennaya'];
$number ++;
}
Спустя 2 минуты, 28 секунд (11.06.2011 - 18:16) tmt0086 написал(а):
Цитата (sharki @ 11.06.2011 - 15:13) |
$query1 = "SELECT ljname, ljpass FROM `acc_users` where acc='1' ORDER BY RAND() LIMIT 2"; |
как все просто! Спасибо.. я просто сен впервые циклы разбираю (НЕНАВИДЕЛ ИХ РЕНЬШЕ!.. и по всякому не хотел связываться) Ну и рандомно тоже впервые
_____________
Продаю людей. Дешего. Писать в ПС