EDIT :: Возможно, мне следует спросить, какой правильный способ получить набор результатов из базы данных. Когда у вас есть 5 объединений, где есть отношения 1: M, вы переходите к базе данных 5 раз для данных?Массив помощи. Ищите лучший способ
Я задал этот вопрос около часа назад, но не смог получить ответ, который был подходящим. Я пошел вперед и написал код, который делает именно то, что мне нужно, но я ищу лучший способ сделать это.
Этот массив дает мне несколько строк, из которых только некоторые нужны один раз, а другие нужны много раз. Мне нужно отфильтровать их, как я сделал ниже, но хочу, чтобы это было лучше, если это было возможно.
Array
(
[0] => Array
(
[cid] => one line
[model] => one line
[mfgr] => one line
[color] => one line
[orderid] => one line
[product] => many lines
[location] => many lines
)
[1] => Array
(
.. repeats for as many rows as were found
)
)
Этот код работает отлично, но опять же, я думаю, что есть более эффективный способ сделать это. Есть ли функция PHP, которая позволит мне немного почистить ее?
// these are the two columns that produce more than 1 result.
$product = '';
$orderid = '';
foreach($res as $key)
{
// these produce many results but I only need one.
$cid = $key['cid'];
$model = $key['model'];
$mfgr = $key['mfgr'];
$color = $key['color'];
$orderid = $key['orderid'];
// these are the two columns that produce more than 1 result.
if($key['flag'] == 'product')
{
$product .= $key['content'];
}
if($key['flag'] == 'orderid')
{
$orderid .= $key['content'];
}
}
// my variables from above in string format:
Вот запрашиваемая SQL
SELECT
cid,
model,
mfgr,
color,
orderid,
product,
flag
FROM products Inner Join bluas ON products.cid = bluas.cid
WHERE bluas.cid = 332
ORDER BY bluas.location ASC
использовать базу данных? – knittl
Да, результаты взяты из базы данных. – jim
фильтр уже в базе данных с оператором 'where' ... – knittl