|
|
|
| Сразу приношу извинения за не совсем понятную формулировку темы :)
Собственно, сабж:
в базе существуют строки такого типа (сначала заголовки, ниже - данные в строке):
Заголовки: article_no | A0101 | A0102 | A0103 | A0104 | B0102 | T0102 | T0304 | T0106
Значения: 20056779 | yes | no | no | no | no | yes | yes | yes
То есть, это артикул товара (в магазине) и коды торговых мест, на которых он лежит (yes) или, соответственно, не лежит (no).
Вопрос в следующем: каким образом, если известен номер артикула (то есть значение первой ячейки) можно получить список только тех остальных столбцов, где указано значение "yes"?
Программится это все на php.
Если не совсем понятно условие, то могу пояснить по ходу пьесы. | |
|
|
|
|
|
|
|
для: aexb
(16.03.2006 в 13:49)
| | если артикул - название столбца, то так:
SELECT * FROM table WHERE A0101='yes'
|
| |
|
|
|
|
|
|
|
для: Loki
(16.03.2006 в 14:21)
| | хм.. это-то ясно. непонятно другое, каким образом для известного артикула выбрать ВСЕ ячейки строки, в которых для этого артикула указано значение 'yes'?
То есть, в итоге нужно получить список всех торговых мест, где находится данный артикул. | |
|
|
|
|
|
|
|
для: aexb
(16.03.2006 в 14:49)
| | средствами php - получив после запроса ассоциированный массив и прогнав его через foreach.
средствами mysql - не знаю как. надо изучать мануал. Может Trianon подскажет, но мне кажется что никак. В противном случае, у вас получается переменное количество столбцов в результате. | |
|
|
|
|
|
|
|
для: aexb
(16.03.2006 в 14:49)
| | Loki всё правильно сказал:
<?
$res = mysql_query("SELECT * FROM table WHERE article_no = $good") or die mysql_error();
$row = mysql_fetch_array($res, MYSQL_ASSOC);
$trades = array[];
foreach ($row as => $trade => $present)
if($present == 'yes') $tardes[] = $trade;
echo "<pre>" .print_r($trades);
?>
|
Trianon бы переделал таблицу. Сделал бы ее из трех столбиков.
Номер_артикула|номер_точки|наличие_товара
article_no|trade_id|quantity | |
|
|
|
|
|
|
|
для: Loki
(16.03.2006 в 14:21)
| | да, только что догнал. в итоге, сначала получаем массив из всех заголовков, кроме 'article_no', делаем запрос в базу и получаем из нее строку с нужным артикулом. Затем в цикле прогоняем результат запроса по каждому заголовку из массива, сравниваем значение с 'yes' и, если оно удовлетворяет этому условию, добавляем в новый массив.
На выходе-массив с необходимыми значениями :) | |
|
|
|