Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: выборка из масива

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: только по определенной дате
sfera
Отправлено: 11 Марта, 2011 - 16:27:45
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




Прошу помощи. Мне необходимо вывести из бд запись на текущую дату, либо если нет записи - то выводить "нет события". На данном этапе выводит весь массив. Где я ошибся? Подскажите начинающему.

PHP:
скопировать код в буфер обмена
  1. $result = $db->query("SELECT * FROM dle_hollyday WHERE datime");
  2. while ($row = $db->get_row($result)) {
  3. $date = $row["datime"];
  4. $name = $row["name"];
  5. $d = date("Y-m-d");
  6. if (isset($row['radio'])) {
  7. $answer = $row['radio'];
  8. if ($answer == "1"){
  9.     $str = '<img src="'.$config['http_home_url'].'uploads/flag-on.png" border="0" width="80" height="80" alt="" />';
  10. }
  11. if ($answer == "2"){
  12.     $str = '<img src="'.$config['http_home_url'].'uploads/flag-off.png" border="0" width="80" height="80" alt="" />';
  13. }
  14. if ($answer == "3"){
  15.     $str = '<img src="'.$config['http_home_url'].'uploads/flag-ny.png" border="0" width="80" height="80" alt="" />';
  16. }
  17. }
  18.  
  19. if ($date == $d) {
  20.     $out = "<br />$name<br /><br />$str" ;
  21. }
  22. else {
  23.     $out = "<br />no date";    
  24. }
  25.  
  26.     echo $out;    
  27. }
 
 Top
SAD
Отправлено: 11 Марта, 2011 - 16:39:31
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




вы извращенец
выбирайте запросом записи на текущую дату
query("SELECT * FROM dle_hollyday WHERE datime=NOW()");
 
 Top
sfera
Отправлено: 11 Марта, 2011 - 23:49:46
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




а то! Радость
если сделать подобный запрос, на сколько это будет кретично? данные в БД добавляются в виде 0000-00-00. в таком виде запроса MySQL берет по текущей дате, если запись на эту дату есть - то выводит. а условие по не найденой записи в бд не работает - не выводит "no date"
 
 Top
evgenijj
Отправлено: 12 Марта, 2011 - 04:18:20
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




sfera пишет:
Мне необходимо вывести из бд запись на текущую дату, либо если нет записи - то выводить "нет события".

mysql_num_rows() -- сколько строк вернул запрос...
 
 Top
sfera
Отправлено: 12 Марта, 2011 - 08:35:16
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




evgenijj пишет:
mysql_num_rows() -- сколько строк вернул запрос...

одну. с этим вопросом реализовано и теперь все работает как мне нужно. Все ли теперь с точки зрения написания кода правильно?
PHP:
скопировать код в буфер обмена
  1. $result = $db->query("SELECT * FROM dle_hollyday WHERE datime = CURRENT_DATE");
  2. $out = false;
  3. $d = date("Y-m-d");
  4. while ($row = $db->get_row($result))
  5. {
  6.     $date = date("Y-m-d", strtotime($row["datime"]));
  7.     $name = $row["name"];
  8.     if (isset($row['radio']))
  9.     {
  10.         $answer = $row['radio'];
  11.         switch ($row['radio'])
  12.         {
  13.             case '1':
  14.                 $flag = 'flag-on.png';
  15.                 break;
  16.             case '2':
  17.                 $flag = 'flag-off.png';
  18.                 break;
  19.             case '3':
  20.                 $flag = 'flag-ny.png';
  21.                 break;
  22.         }
  23.         $str = '<img src="' . $config['http_home_url'] . 'uploads/' . $flag . '" border="0" width="80" height="80" alt="" />';
  24.     }
  25.     $out .= "<br /><div style='color:green;font-weight:bold;'>$name</div><br />$str";
  26. }
  27. if ($out)
  28. {
  29.     echo $out;
  30. } else
  31. {
  32.     echo "<br />Праздник или знаменательная дата отсутствует";
  33. }

Прикреплено изображение (Нажмите для увеличения)
on.JPG

(Отредактировано автором: 12 Марта, 2011 - 08:51:58)

 
 Top
JustUserR
Отправлено: 12 Марта, 2011 - 12:14:27
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




sfera пишет:
Мне необходимо вывести из бд запись на текущую дату, либо если нет записи - то выводить "нет события"
В качестве возможного варианта решения предполагаемой задачи, заключающеся в определении существования сопоставленных информационных полей в таблице БД по заданным параметрам соединения, допустимо использование варианта JOIN-запроса обеспечивающего получение селективных объектов для двух информационных разделенных инстанций таблицы, что позволяет получить список элементов даты/времени для которых не осуществляется сопоставление с реальными записями


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB