while($r=mysql_fetch_array($result){
echo $r["menu"];
}
Как сделать, если в разных строках $r["menu"] одинаково, то выводится это 1 раз, а не столько сколько строк!
Как-то криво объяснил!)
Спустя 19 минут, 16 секунд (28.05.2010 - 20:24) Rand написал(а):
$m=array();А вообще, чтобы не включать дубликаты в выборку можно использовать:
while($r=mysql_fetch_array($result)) {
if(!in_array($r["menu"],$m)) $m[]=$r["menu"];
}
foreach($m as $name)
{
echo "$name <br />";
}
SELECT DISTINCT
Спустя 10 минут, 41 секунда (28.05.2010 - 20:35) gorillaz написал(а):
А что такое $name ?
Спустя 3 минуты, 12 секунд (28.05.2010 - 20:38) Rand написал(а):
Просто переменная, в которую заносится значение массива, можешь её обозвать как угодно.
Спустя 4 минуты, 16 секунд (28.05.2010 - 20:42) gorillaz написал(а):
Думаю, что такйо вариант не подойдет после этого мне надо вывести все то, что в оставшихся столбцах вывести!
В базе к примеру так:
____________________
|Вывод1 | БЭП |
|________|___________|
|Вывод2 | БЭП |
|________|___________|
А выход должен быть
БЭП:
Вывод1
Вывод2
В базе к примеру так:
____________________
|Вывод1 | БЭП |
|________|___________|
|Вывод2 | БЭП |
|________|___________|
А выход должен быть
БЭП:
Вывод1
Вывод2
Спустя 1 час, 19 минут, 18 секунд (28.05.2010 - 22:02) Rand написал(а):
Не уверен, что оптимальный вариант, первое что пришло в голову:
Но чтобы не выполнять запрос в цикле, наверное лучше так:
$result=mysql_query("SELECT DISTINCT category FROM table");
while($r=mysql_fetch_array($result)){
echo $r['category'].":<br>";
$result2=mysql_query("SELECT field1,field2 FROM table WHERE category=".$r['category']);
while($r=mysql_fetch_array($result2)){
echo $r['field1']." ".$r['field2']."<br>";
}
}
Но чтобы не выполнять запрос в цикле, наверное лучше так:
$result=mysql_query("SELECT category,field1,field2 FROM table"]);
while($r=mysql_fetch_array($result)){
$category[]=$r['category'];
$field1[]=$r['field1'];
$field2[]=$r['field2'];
}
$result=mysql_query("SELECT DISTINCT category FROM table");
while($r=mysql_fetch_array($result)){
echo $r['category'].":<br>";
for($i=0;$i<count($field1);$i++){
if($category[$i]==$r['category']) echo $field1[$i]." ".$field2[$i]."<br>";
}
}