Вопрос - Ответ по MySQL

Печать RSS
3064


Пришелец
0
Допустим у меня есть таблица, в ячейке test (DATETIME) есть какое-то время и дата. Как на php проверить что с того времени прошло например больше 2 часа?
if ($table['test'] больше 2 часа){
действие
}
else
{
действие
}
E

Пришелец
0
$time = time(); // наше время
$test_time = - тут извлекаем запись из БД

$status = $time - $test_time; // нам нужна разница между нашим временем и тем что в БД

if((int)$status > 2){ echo "Больше";}else{ echo "Меньше";}
Изменил: Eyler (26.04.2013 / 15:56)

Пацак
0
612. unimax,
<?php 
if($table['test'] < time() + 60 * 60 * 2)
 echo 'Перекур. Прошло 2 часа.'; 
else 
 echo 'Таки рановато'; 
Изменил: Erika (25.05.2013 / 12:09)
A

Пацак
0
Даж не знаю как сформулировать... Каким образом можно составить сложный запрос, если из одной таблицы надо вывести записи, при этом используя разные условия после where? Грубо говоря надо что-то вроде "where если так (всякие там поля, равенства, условия, and и т.д.) И если так (то же) И если эдак (то же)" и чтоб учитывая три разных комбинации условий выводились записи. И в них могут использоваться одни и те же поля таблички с разными условиями. Хотя бы в каком направлении искать решение?
Изменил: Aid78 (04.07.2013 / 23:46)
П

Пацак
0
615. Aid78, не очень понятно, чем тебя не устраивает обычный or.
select * from table where (условие1) or (условие2)
A

Пацак
0
616. Im-ieee, оно то подходит, но ровно до того момента как я не добавлю туда так скажем третье условие, а оно с LEFT JOIN и выходит черти что, может я конечно что-то не так делаю.

то есть запрос сложный и в одном моменте необходим лефт джоин
Изменил: Aid78 (05.07.2013 / 14:40)
П

Пацак
0
617. Aid78, left join по сути то же самое, что и where, но при этом выбираются дополнительные записи. Может быть, ты приведешь пример запроса?
A

Пацак
0
618. Im-ieee, грубо говоря надо совместить эти два запроса в один:

SELECT * FROM `tb1` LEFT JOIN `tb2` ON `tb1`.`bla`=`tb2`.`bla2` WHERE `tb2`.`a`=1 AND `tb1`.`a`=1

SELECT * FROM `tb1` WHERE (`a`=1 AND `b`=2) OR (`a`=1 AND `c`=1)

не суть важно что и зачем, важно как поместить еще один OR при этом сохранив лефт джоин, если подставляю их просто, то запрос много раз выводит одни и те же результаты, по отдельности же эти два запроса такого типа работают норм.
Изменил: Aid78 (05.07.2013 / 19:06)
П

Пацак
0
619. Aid78, вряд ли получится объединить, чтобы не было "повторов", поскольку в одном запросе выборка из двух таблиц, а в другом из одной.

Пришелец
0
619. Aid78, скинь таблицы и подробно опиши что, именно тебе надо. После, напиши мне в приват.
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск