Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не работает оператор выбора if, Нужно реализовать проверку даты 
:(
    Опции темы
dexterx
Дата 7.1.2009, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 8.9.2008

Репутация: нет
Всего: нет



Здравствуйте!
У меня такая задачка, я хочу чтобы выводились данные с БД только через три часа
после того как туда внесли ету запись, у меня в таблице есть поля: ....года, даты, месяца, часа и минуты
И мне нужно сделать проверку что если запись добавлена больше трех часов назад то выводить ее
если раньше то выводить сообщение о регистрации.

Код

//Вычисляем текущее времья
$year = date("Y");
$month = date("m");
$day = date("d");
$hours = date("H");
$minuts = date("i");
$min_hours = $hours-3;
//Соединение з БД
$query = "SELECT * FROM `car` ORDER BY id DESC";
$r = mysql_query($query);
 while($par = mysql_fetch_array($r))
    {
if($par['month'] == $month ) {
if($par['day'] == $day ) {
if($par['hours'] > $min_hours ) {
// Выводим таблицу с  позициями
echo "<table><tr>
               <td>".$par['pogr1']."</td>
               <td>".$par['incity']."</td>
       <td>".$par['offcity']."</td>
       <td>".$par['company']."</td>
       <td>".$par['date']."</td>
               </tr></table>";

} else {
} else {
} else {
// Выводим ссылку на регистрацию
echo "<a href="reg.php">Зарегистрируйтесь</a> ";
}
}
}
}
 

В приведенном коде работает только если одно условие if а с тремья работать не хочет почему же так?

Это сообщение отредактировал(а) dexterx - 7.1.2009, 13:25
PM MAIL   Вверх
ksnk
Дата 7.1.2009, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



if'ы нужно "соединять" логическими операторами. К примеру &&

Синтаксис оператора if-else стоит подучить, однако...

Слово mounth в английском обозначает совсем даже не месяц...

Особенно прикольно этот скрипт будет работать на границе дня, месяца, года...

Это сообщение отредактировал(а) ksnk - 7.1.2009, 13:17


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
dexterx
  Дата 7.1.2009, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 8.9.2008

Репутация: нет
Всего: нет



О, большое спасибо так все работет:
Код

if(($par['month'] == $month )&&($par['day'] == $day )&&($par['hours'] > $min_hours )) {
// Выводим таблицу с  позициями
echo "<table><tr>
               <td>".$par['pogr1']."</td>
               <td>".$par['incity']."</td>
               <td>".$par['offcity']."</td>
               <td>".$par['company']."</td>
               <td>".$par['date']."</td>
               </tr></table>";

} else {
// Выводим ссылку на регистрацию
echo "<a href="reg.php">Зарегистрируйтесь</a> ";
}


Месяц тоже исправил
PM MAIL   Вверх
presto5
Дата 7.1.2009, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 7.1.2009

Репутация: нет
Всего: нет





1. U tebia dolzhno bit' odno pole dlia dati v baze, naprimer "post_date".
2. V SQL zaprosah perechisliay polia kotorie vibiraesh - tak bistree i nagliadnee

Togda kod tovi perepishetsia:

Код


$query = "
SELECT c.*, 
( IF DATE_ADD(post_date, INTERVAL 3 HOUR) > NOW() THEN 1 ELSE 0 END IF ) AS can_post
FROM `car` c 
ORDER BY c.id DESC
";
$r = mysql_query($query);
while($par = mysql_fetch_array($r)) {
  if($par['can_post'] == 1 ) {
    echo "<table><tr>
               <td>".$par['pogr1']."</td>
               <td>".$par['incity']."</td>
       <td>".$par['offcity']."</td>
       <td>".$par['company']."</td>
       <td>".$par['date']."</td>
               </tr></table>";
  }else {
    echo "<a href="reg.php">Зарегистрируйтесь</a> ";
  }
}


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1008 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.