Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: рандом столбцов, хелп плиз!
 
 автор: mental   (21.06.2009 в 04:10)   письмо автору
 
 

есть таблица table с бесконечным количеством столбцов

нужно вывести N столбцов содержащих random = 1 рандомом

я непонимаю как это осуществить ...
помогите please!

  Ответить  
 
 автор: Valick   (21.06.2009 в 12:20)   письмо автору
 
   для: mental   (21.06.2009 в 04:10)
 

я непонимаю как это осуществить
не удивительно. Я лично даже не понимаю по Вашему описанию, что нужно осуществить.
random = 1 - это поле в таблице некоторые строки которого имеют значение 1?

  Ответить  
 
 автор: mental   (22.06.2009 в 03:25)   письмо автору
 
   для: Valick   (21.06.2009 в 12:20)
 

да
извените я ещё новичёк в mysql

примерно вот так нужно

$qe = mysql_fetch_array(mysql_query("SELECT RAND(*) FROM `table` WHERE `random` = '1' LIMIT 1"));
echo $qe['web'];


пишет
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/wap/wap.php on line 170

как правельно написать?
у меня получилось: вывести рандомом все поля в таблице table содержащие random = 1
а мне столбцы нужно, это както по id возможно делают ..
хелп плиз!

  Ответить  
 
 автор: mental   (22.06.2009 в 03:52)   письмо автору
 
   для: mental   (22.06.2009 в 03:25)
 

я пытался делать так


    $rey = rand(1,mysql_query("SELECT COUNT(*) FROM `table`"));
$rrer = mysql_fetch_array(mysql_query("SELECT * FROM `table` WHERE `random` = '1', `id` = '$ray' LIMIT 1"));
echo $rrer['web'];

та же ошибка

и вот так пробовал
$rrer = mysql_fetch_array(mysql_query("SELECT * FROM `table` WHERE `random` = '1' ORDER BY RAND(id)"));
       echo $rrer['web'];

  Ответить  
 
 автор: mental   (22.06.2009 в 04:13)   письмо автору
 
   для: mental   (22.06.2009 в 03:52)
 

 $rey = mysql_query("SELECT COUNT(*) FROM `table`");
$rrer = mysql_fetch_array(mysql_query("SELECT RAND($ray) FROM `table` WHERE `random` = '1' LIMIT 1"));
       echo $rrer['web'];

ошибки нет, но ничего невыводит вобще

  Ответить  
 
 автор: Valick   (22.06.2009 в 08:03)   письмо автору
 
   для: mental   (22.06.2009 в 03:25)
 

1) Поля и столбцы это одно и тоже.
2) Пишите запрос отдельной строкой, так легче искать ошибки.
3) Зачем у Вас LIMIT 1? Вам же нужно как я понял N строк.

<?php
$query 
"SELECT * FROM `table` WHERE `random` = 1 ORDER BY RAND()";
// echo $query;
$res mysql_query($query);
while(
$qe=mysql_fetch_array($res)){
           echo 
$qe['web'];
}
?>

попробуйте так.

  Ответить  
 
 автор: mental   (22.06.2009 в 11:11)   письмо автору
 
   для: Valick   (22.06.2009 в 08:03)
 

спосибо сейчас попробую, а лимит мне нужен потому что 1 ~ 5 полей нужно выводить одновременно

ещё раз извените что так плохо знаю mysql

  Ответить  
 
 автор: mental   (22.06.2009 в 11:23)   письмо автору
 
   для: Valick   (22.06.2009 в 08:03)
 

всё работает, спасибо!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования