Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как выбрать из базы MySQL значения по 2 параметрам
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Как выбрать из базы MySQL значения по 2 параметрам

Страниц (1): [1]
 

1. vovarich - 19 Января, 2014 - 23:52:23 - перейти к сообщению
Столкнулся со следующей проблемой.
Существует таблица MySQL из которой нужно сделать выборку по 2 -м столбцам.
Тоесть цикл должен выбрать все значения где categ1= 'новинки' (это 1 столбец)
и categ2= 'мультики' (это 2 столбец)

Вот такой запрос делаю для выборки по одному столбцу,
$result=mysql_query("select * from product WHERE categ1= 'новинки' order by position DESC");

а как сделать выборку по 2-м столбцам одновременно - не соображу.

Помогите пожалуйста.
2. imya - 20 Января, 2014 - 09:15:16 - перейти к сообщению
Добавить and?

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM product WHERE categ1= 'новинки'  AND categ2 = 'мультики' ORDER BY position DESC
3. vovarich - 20 Января, 2014 - 09:45:36 - перейти к сообщению
[quote=imya][/quote]

В этом случае выведет только те значения, где товар отвечает двум условиям "новинки" и "мультики". А мне нужно чтобы выбрало все товары в которых categ1= 'новинки' и плюс еще и все товары в которых categ2= 'мультики'
4. eai - 20 Января, 2014 - 09:54:42 - перейти к сообщению
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM product WHERE categ1= 'новинки'  OR categ2 = 'мультики' ORDER BY position DESC
5. imya - 20 Января, 2014 - 10:09:14 - перейти к сообщению
Используйте вариант от eai.
6. vovarich - 20 Января, 2014 - 11:59:21 - перейти к сообщению
[quote=eai][/quote]

Вопрос помог решить пользователь eai. Всем спасибо за помощь. Вопрос решен с помощью оператора OR. По своей неопытности я думал что этот оператор выбирает "или то или то", а получается, что "и то и то"
7. Fetis - 20 Января, 2014 - 12:01:40 - перейти к сообщению
Кокраз наоборот Улыбка
OR - логическое или
and - логическое и

везде, во все времена так
8. eai - 20 Января, 2014 - 12:01:55 - перейти к сообщению
vovarich пишет:
eai пишет:


Вопрос помог решить пользователь eai. Всем спасибо за помощь. Вопрос решен с помощью оператора OR. По своей неопытности я думал что этот оператор выбирает "или то или то", а получается, что "и то и то"


Гыыы вообще то ответ дал пользователь "Имя", я тока 2 байта изменил Улыбка))))
(Добавление)
Fetis пишет:
Кокраз наоборот Улыбка
OR - логическое или
and - логическое и

везде, во все времена так

Не путай его, он не понимает разницы условия и данных Подмигивание
9. vovarich - 05 Февраля, 2014 - 23:07:20 - перейти к сообщению
Может подскажите почему из колонки categ2 не выбирает значения, а только из первых двух.
Может быть оператор OR нелья использовать дважды? И как это обойти.

$res=mysql_query("select * from product WHERE categ= '$cat' OR categ1= '$cat' OR categ2= '$cat' order by position DESC");
10. SAD - 05 Февраля, 2014 - 23:28:18 - перейти к сообщению
нет таких записей. запрос верен
11. vovarich - 05 Февраля, 2014 - 23:33:26 - перейти к сообщению
SAD пишет:
нет таких записей. запрос верен


Так а почему же тогда значения третьей колонки не отображаются.
12. SAD - 05 Февраля, 2014 - 23:49:10 - перейти к сообщению
нет записей конкретно для 3 колонки
13. vovarich - 05 Февраля, 2014 - 23:54:16 - перейти к сообщению
SAD пишет:
нет записей конкретно для 3 колонки


Почему, в третьей колонке как и в первых двух находятся значения. Или может я Вас не правильно понимаю. Растолкуйте мне пожалуйста.
14. SAD - 05 Февраля, 2014 - 23:58:40 - перейти к сообщению
ну есть значения. и? может нет тех, которое Вам нужно. или это значение одинаково в нескольких столбцах(тогда одна и та же запись 2 раза не должна отбираться)

 

Powered by ExBB FM 1.0 RC1