|
|
|
| Eсть две переменные с начальной и конечной датой, как выбрать интервал(от и до)?
Проблема только с выборкой по дате, а так всё работает.
$start_age = "1978-03-11";
$end_age; = "1989-05-08";
$query = "SELECT * FROM `table`";
$temp_query = array();
$temp_query = array();
if(!empty($looking )) $temp_query[] = "`looking ` = ".$looking ;
if(!empty($county)) $temp_query[] = "`county` = ".$county;
if(!empty($start_age)) $temp_query[] = "`birthday` >= ".$start_age; - не захватывает дату
if(!empty($end_age)) $temp_query[] = "`birthday` <= ".$end_age; - не захватывает дату
if(count($temp_query) > 0) $query .= " WHERE ";
$query .= implode(' AND ', $temp_query);
$res = mysql_query($query);
|
| |
|
|
|
|
|
|
|
для: hdmi
(28.02.2011 в 02:26)
| | Строку с датой нужно заключить в кавычки
if(!empty($start_age)) $temp_query[] = "`birthday` >= '$start_age'";
if(!empty($end_age)) $temp_query[] = "`birthday` <= '$end_age'";
|
| |
|
|
|
|
|
|
|
для: cheops
(28.02.2011 в 10:38)
| | Спасибо! Заработало.
У меня назрел такой вопрос.
Может ещё быть одна переменная($looking2):
if ($am == 1 and $looking == 1)
{
$looking = 1;
$looking2 = 3;
}
elseif ($am == 2 and $looking == 2)
{
$looking = 2;
$looking2 = 3;
}
elseif ($am == 1 and $looking == 2)
{
$looking = 2;
}
elseif ($am == 2 and $looking == 1)
{
$looking = 1;
}
|
Как сделать чтобы выбирало и по $looking("`looking ` = ".$looking ;) и по @looking2("`looking ` = ".$looking2 ;) . $looking2 либо существует либо нет.
if(!empty($looking )) $temp_query[] = "`looking ` = ".$looking;
if(!empty($county)) $temp_query[] = "`county` = ".$county;
|
| |
|
|
|
|
|
|
|
для: hdmi
(28.02.2011 в 14:19)
| | Когда $looking2 существует, кому приоретет отдается ($looking2 или $looking)? Вообще какова логика появления второй переменной? | |
|
|
|
|
|
|
|
для: cheops
(28.02.2011 в 14:59)
| | done... | |
|
|
|
|
|
|
|
для: hdmi
(28.02.2011 в 02:26)
| | Про BETWEEN в MySQL прочитайте.
[поправлено модератором] | |
|
|
|
|
|
|
|
для: mihdan
(28.02.2011 в 12:01)
| | это ничего, что операция BETWEEN .. AND здесь слабо применима? | |
|
|
|
|
|
|
|
для: Trianon
(28.02.2011 в 12:10)
| | >Eсть две переменные с начальной и конечной датой, как выбрать интервал(от и до)?
Я лишь дал подсказку по конкретному вопросу. | |
|
|
|
|
|
|
|
для: mihdan
(28.02.2011 в 12:01)
| | Кроме того, одна из дат может отсуствовать, тогда BETWEEN применить не удасться. | |
|
|
|
|
|
|
|
для: cheops
(28.02.2011 в 12:31)
| | Как это может не существовать, если они явно в коде определены?
<?php
$start_age = "1978-03-11";
$end_age; = "1989-05-08";
// ..................................
?>
|
| |
|
|
|
|
|
|
|
для: mihdan
(01.03.2011 в 03:09)
| | Это может быть приведено для примера, если имеется if-условие для проверки существования переменной, в рабочем коде одной из границ может не существовать. Более того, в случае дат, цен и других интервалов, такие половинчатые условия достаточно часто встречаются. | |
|
|
|