MySQL / PHP - запрос нескольких таблиц, чтобы увидеть, если записи соответствуют номеру в массиве - PullRequest
0 голосов
/ 21 апреля 2011

У меня есть форма с флажками, которую я собираю в виде массива при отправке формы:

<input name='price[]' type='checkbox' value='1'/>
<input name='price[]' type='checkbox' value='2'/>
<input name='price[]' type='checkbox' value='3'/>
<input name='price[]' type='checkbox' value='4'/>

Затем я беру значения в массиве и запрашиваю базу данных следующим образом:

$priceArray = $_POST['price'];
$selectPrice = join(',',$priceArray);

"SELECT DISTINCT community FROM community_prices WHERE prices IN ($selectPrice)"

Это прекрасно работает, но мне нужно сделать то же самое с 3 дополнительными массивами и 3 дополнительными таблицами, и я хочу сделать все это из одного и того же запроса.

так, например:

таблица 1 community_prices имеет следующие поля: идентификатор, сообщество, цены

таблица 2 community_aferences имеет следующие поля: идентификатор, сообщество, удобства

таблица 3 community_demographic имеет следующие поля: идентификатор, сообщество, демография

таблица 4 community_products имеет следующие поля: id, community, product

Есть мысли о том, как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 21 апреля 2011

Используйте JOIN для выбора из нескольких таблиц, например

SELECT "YOUR FIELDS" FROM table1 
    JOIN table2 ON  table2.prices IN ($selectPrice)
    JOIN table3 ON  table3.community = table1.comumnity
    JOIN table4 ON  table4.community = table3.comumnity
GROUP BY "YOUR FIELD"
ORDER BY "YOUR FIELD"
0 голосов
/ 21 апреля 2011

СОЮЗ может быть вашим другом здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...