[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: цикл while при выводе из БД
gorillaz
Подскажите как сделать, если
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 час, 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>";
}
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.