|
|
|
| Добрый день, прошу помощи в запросе!
Допустим у меня есть в базе таблица, в это таблице записи. Есть колонка money.
Там хранятся числа, например : от 150, от 250, от 800 и т.п.
Я передаю постом два параметра (1 - цена от и 2 - цена до).
Как правильно организовать поиск? | |
|
|
|
|
|
|
|
для: Night_Charter
(20.02.2007 в 18:06)
| | Можно поступить следующим образом
<?php
$_POST['price1'] = intval($_POST['price1']);
$_POST['price2'] = intval($_POST['price2']);
$query = "SELECT * FROM tbl WHERW money > $_POST[price1] AND money < $_POST[price2]";
$tbl = mysql_query($query);
...
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(20.02.2007 в 19:23)
| | А разве массивы типа $_POST[''], $_GET[''], $_SESSION[''] и т.д. не надо отделять? Ну всмысле:
<?
$query = "SELECT * FROM tbl WHERE money > ".$_POST[price1]." AND money < ".$_POST[price2]."";
?>
|
ЗЫ. И у вас в запросе написано WHERW ;) | |
|
|
|
|
|
|
|
для: DEM
(20.02.2007 в 19:27)
| | Можно не отделять, если ключ не берётся в кавычки, если массивы отделяются, ключ следут брать в кавычки
<?
$query = "SELECT * FROM tbl WHERE money > ".$_POST['price1']." AND money < ".$_POST['price2']."";
?>
|
>ЗЫ. И у вас в запросе написано WHERW ;)
Есть такое дело. | |
|
|
|
|
|
|
|
для: cheops
(20.02.2007 в 19:31)
| | Хм... всё время брал ключ в кавычки и иногда удивлялся, почему в неокторых сркиптах работает гобальный массив без разделения, а у меня нет ))) Теперь буду знать, спасибо ))) | |
|
|
|
|
|
|
|
для: DEM
(20.02.2007 в 20:19)
| | С этим понятно, спасибо.
Теперь, чтобы не создавать новую тему, давайте смоделируем ситуацию, только в этот раз запросы надо производить по дате.
Дату забиваю в поле при помощи mktime(date('H'), date('i'), date('s'), date('m'), date('d'), date('y'));
Например хочу выбрать запси от 01.02.07 до 15.02.07. | |
|
|
|
|
|
|
|
для: Night_Charter
(20.02.2007 в 20:34)
| | Хм... т.е. дата хранится не в календарном столбце MySQL? Нет возможности изменить ситуацию - дело в том, что календарные столбцы очень удобны и MySQL предоставляет очень широкие средства для манипулирования ими.
Если возможности изменить таблицу нет, то придётся приводить даты 01.02.07 и 15.02.07 к формату UNIXSTAMP при помощи той же функции mktime() и строить WHERE условие по аналогии с ценой. | |
|
|
|
|
|
|
|
для: cheops
(21.02.2007 в 00:28)
| | Понял, спасибо.
Дата храниться в поле "date TEXT"
Как лучше сделать? | |
|
|
|
|
|
|
|
для: Night_Charter
(21.02.2007 в 14:16)
| | Лучше хранить дату не в поле TEXT, а в поле DATETIME | |
|
|
|