|
|
|
| Помогите, пожалуйста решить задачу.
В базе данных есть столбец типа date с именем data_rozhd, в него записывается дата рождения. Как сделать поиск по базе возрастов "от" и "до".
Делаю так:
SELECT * FROM table WHERE data_rojd BETWEEN '$vozr_date1' AND '$vozr_date2'
|
переменные $vozr_date1 и $vozr_date2 это возраст переведенный в даты:
function convdate($date)
{
$date=strtotime($date);
return strftime("%Y-%m-%d",$date);
}
$vozrr1 = $vozrast1."0000";
$vozr1 = date('Ymd') - $vozrr1;
$vozr_date1 = convdate($vozr1, 0);
$vozrr2 = $vozrast2."0000";
$vozr2 = date('Ymd') - $vozrr2;
$vozr_date2 = convdate($vozr2, 0);
|
Вобщем такой способ не работает. Знаю, что для этого должен быть способ проще и правельнее. Подскажите пожалуйста как надо. | |
|
|
|
|
|
|
|
для: Andchir
(05.11.2007 в 13:29)
| | - | |
|
|
|
|
|
|
|
для: Andchir
(05.11.2007 в 18:24)
| | Никто не поможет? | |
|
|
|
|
|
|
|
для: Andchir
(05.11.2007 в 13:29)
| | Не очень понятно, изначально $vozrr1 и $vozrr2 - это что и в чём изменяется? | |
|
|
|
|
|
|
|
для: cheops
(06.11.2007 в 12:00)
| | $vozrr1 и $vozrr2 это две цифры (возраст) которые вводятся в форму поиска. Например, нужно найти "от 20 до 40 лет", а в базе только дата рождения. | |
|
|
|
|
|
|
|
для: Andchir
(06.11.2007 в 16:25)
| | Ой, туплю :) | |
|
|
|
|
|
|
|
для: Andchir
(06.11.2007 в 16:25)
| | Тогда лучше воспользоваться следующим запросом
SELECT * FROM table
WHERE data_rojd BETWEEN NOW - INTERVAL $vozr_date1 YEAR AND NOW() - INTERVAL $vozr_date2 YEAR
|
| |
|
|
|
|
|
|
|
для: cheops
(07.11.2007 в 13:07)
| | Большое спасибо!!! | |
|
|
|