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

Форум MySQL

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

 

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

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

тема: Проверка отработки запроса
 
 автор: Back_UP   (09.12.2006 в 12:06)   письмо автору
 
 

Доброго времени суток!
Возникла проблема:
Есть база данных (MYSQL), скриптом вывожу нужные данные в определенной последовательности. Вот пример:


$array = array("Discovery", "rbk", "tnt", "muztv", "eurosport", "fashion", "foxkids","nkino", "rambler", "rtr",
  "cult", "tvcenter","tvs", "mtv", "7tv","tv3", "art", "euronews", "hallmark", "vh1", "dtv","Domashn");



$r = rand (0,22);

$query= MYSQL_QUERY ("Select Btime from programm where Chanell= '$array[$r]' and BTime < '$time' and Bdate = '$date' Order by Btime DESC") or DIE;

$res = mysql_result($query,0);

$query1 = MYSQL_QUERY ("Select prog from programm where Chanell = '$array[$r]' and Btime='$res'");


$res1 = mysql_result($query1,0);


Выводится программа телепередач на данный день и данный промяжуток времени. Все хорошо, все работает... НО бывает так что программы передач на ВСЕ каналы нет. В результате отработки

$r = rand (0,22);

Выберается канал на который нет программы, а соотвественно и записей в базе. Естественно, что в результате работы скрипта я получаю
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 5 in /var/www/yartelenet/htdocs/tquery.php

Пытаюсь исключить эти ситуации при помощи циклов , т.е. получаю такой вот код:

$array = array("Discovery", "rbk", "tnt", "muztv", "eurosport", "fashion", "foxkids","nkino", "rambler", "rtr",
  "cult", "tvcenter","tvs", "mtv", "7tv","tv3", "art", "euronews", "hallmark", "vh1", "dtv","Domashn");




$r = rand (0,22);






$queryt= MYSQL_QUERY ("Select Btime from programm where Chanell= '$array[$r]'");

$result = mysql_fetch_row ($queryt);

while ( $result == NOTNULL)
{
if ($result == NULL) $r = rand (0,22);
}
$query= MYSQL_QUERY ("Select Btime from programm where Chanell= '$array[$r]' and BTime < '$time' and Bdate = '$date' Order by Btime DESC") or DIE;

$res = mysql_result($query,0);

$query1 = MYSQL_QUERY ("Select prog from programm where Chanell = '$array[$r]' and Btime='$res'");


$res1 = mysql_result($query1,0);


Нужного результата не получаю. Был бы очень благодарен еслиб кто-нибудь подсказал что не так... заранее спасибо.

С уважением, Back_UP

   
 
 автор: Alph[p]a   (09.12.2006 в 12:13)   письмо автору
 
   для: Back_UP   (09.12.2006 в 12:06)
 

Нумерация массивов начинается с 0 а не с 1

$r = rand (0,21);

   
 
 автор: Trianon   (09.12.2006 в 12:44)   письмо автору
 
   для: Back_UP   (09.12.2006 в 12:06)
 

Как минимум, Вам нужно создать запрос, который бы возвращал набор каналов с имеющимися программами передач.
Что, не зная структуры базы, сделать, согласитесь, затруднительно.

   
 
 автор: Back_UP   (09.12.2006 в 13:12)   письмо автору
 
   для: Trianon   (09.12.2006 в 12:44)
 

Trianon большое Вам спасибо, за идею... Все сделал... все работает.

   
Rambler's Top100
вверх

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