Допустим, у вас есть такой стол:
ID Cat1 Cat2
1 a red
2 b red
3 c blue
4 d blue
5 e blue
6 f green
etc etc etc
Цель состоит в том, чтобы отобразить ID и Cat1 (уникальные пары), разделенные на группы в соответствии с Cat2. Самый простой выход состоит в том, чтобы запустить отдельный запрос MySQL для каждого Cat2, но с большим количеством различных значений Cat2, которые производят на порядок больше запросов для отображения одной страницы для зрителя, чем просто сбор всей партии данных в одном запросе и разрезать его на части с помощью PHP.
Я закончил форматирование. Но мне трудно понять, как ограничить вывод моей строки на основе значения третьего столбца в массиве $value[2]
, взятого из $value = mysql_fetch_row($result)
после использования
$sql = "SELECT ID,Cat1,Cat2 FROM MyTable ORDER BY Cat2,ID"
На простом английском (явно НЕ настоящий код) это будет выглядеть так:
$result = mysql_query($sql);
IF ($value[2] from $value = mysql_fetch_row($result) = "red")
{
echo "Red Group";
WHILE ()
{
echo $value[0] and $value[1] for all the rows where Cat2 = red
}
}
IF ($value[2] from $value = mysql_fetch_row($result) = "blue")
{
echo "Blue Group";
WHILE ()
{
echo $value[0] and $value[1] for all the rows where Cat2 = blue
}
}
etc
Имеет ли все это смысл? Как вы извлекаете эти группы данных из массива $result
?
Очевидно, это не все имеет смысл! : -)
Вот пример желаемого результата:
RED GROUP
1 a
2 b
BLUE GROUP
3 c
4 d
5 e
GREEN GROUP
6 f
etc
Спасибо!