Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   [sql] Вопросы по БД (https://forum.antichat.xyz/showthread.php?t=62769)

mff 11.03.2009 18:59

Помогите с запросом:
PHP код:

$arr DbQueryToArray("SELECT * FROM `products` WHERE `name` like '%".$search."%' ORDER BY `name`, `nal` DESC"); 

нужно выбрать из таблички всё, что совпадает со строкой поиска из столбца name и отсортировать по столбцу name и по столбцу nal - наличие, там может быть либо "0" либо "1", то есть есть в наличии и нет в наличии

Выше преведеннный запрос не работает :confused:

blaga 11.03.2009 19:04

то есть нужно вывести только те что с нулем?
возможно так, не проверял.
SELECT * FROM `products` WHERE `name` like '%".$search."%' AND `nal`='1' ORDER BY `name` DESC

mff 11.03.2009 19:17

blaga, с нулём в конце с еденицей в начале! А не только там где 0

То есть по названию по алфовиту, и те что есть в наличии (с еденичкой) в начале, постом по алфовиту и те что нету в наличии 0

VDShark 11.03.2009 21:02

Цитата:

Сообщение от mff
То есть по названию по алфовиту, и те что есть в наличии (с еденичкой) в начале, постом по алфовиту и те что нету в наличии 0

Код:

ORDER BY `nal` DESC,`name`

mff 11.03.2009 21:51

Цитата:

Сообщение от VDShark
Код:

ORDER BY `nal` DESC,`name`

Почему то не работает, всё по имени по алфовиту, но идут "есть в наличии" и "нет в наличии" в перемешку :confused: :confused: :confused: :confused: :confused: :confused: :confused: :confused:

VDShark 11.03.2009 23:53

Цитата:

Сообщение от mff
Почему то не работает, всё по имени по алфовиту, но идут "есть в наличии" и "нет в наличии" в перемешку :confused: :confused: :confused: :confused: :confused: :confused: :confused: :confused:

Странно... Я хоть и приболел, но мой больной разум выдал вроде бы правильную конструкцию (ибо она элементарна)... Дай дамп таблицы (если возможно) что бы можно было посмотреть что и как.

mff 12.03.2009 00:35

Спасибо VDShark, всегда выручаешь! Вот дамп:
Код:

CREATE TABLE `products` (
  `prodid` int(10) NOT NULL DEFAULT '0',
  `podcatid` varchar(255) NOT NULL DEFAULT '0',
  `name` varchar(255) NOT NULL DEFAULT '',
  `price` float(11,2) NOT NULL DEFAULT '0.00',
  `opis` text NOT NULL,
  `catid` int(10) NOT NULL DEFAULT '0',
  `podpodcatid` int(11) DEFAULT NULL,
  `podpodpodcatid` int(11) DEFAULT NULL,
  `price2` float(11,2) DEFAULT NULL,
  `nal` varchar(255) DEFAULT NULL,
  `opis1` text,
  `art` varchar(255) NOT NULL DEFAULT '',
  `nov` int(11) NOT NULL DEFAULT '0',
  `ras` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`prodid`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

:(

VDShark 12.03.2009 10:40

mff Говоря дамп я имел ввиду с данными.. хотя нужно было уточнить конечно :) А то самому выдумывать не улыбается. Дай данных для теста чуток... Если не хочешь здесь палить - можешь стукнуться в аську или пм.

mff 12.03.2009 14:38

VDShark, отпраил в пм. :)

VDShark 12.03.2009 15:43

Цитата:

Сообщение от mff
VDShark, отпраил в пм. :)

У меня по запросу
Код:

SELECT *
FROM `products`
WHERE `name` LIKE '%амул%'
ORDER BY `nal` DESC , `name`

все отлично отсортировало :) Показывай какой ты запрос пишешь.


Время: 21:27