![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 101 Pomógł: 5 Dołączył: 15.10.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
no to najpierw opisze problem... tak w skrócie: pętlą typu while wyciągam dane z bazy danych i wyświetlam je za pomocą echo... ale jak to teraz zrobić że jeśli te dane się powtarzają to żeby wypisał to tylko raz ?
moja baza wygląda tak: id | nazwa | kategoria i jak się domyślacie w kategorii powtarzają się wyniki a na ekranie chce otrzymać coś takiego: kategoria 1 nazwa1 nazwa2 kategoria 2 nazwa3 nazwa4 a z normalnej pętli wyszlo mi tak, ze kategoria 1 i wszystko co w niej pokazał mi 2 razy dlatego ze są 2 nazwy z tą samą kategorią i nie wiem jak wyeliminowac to powtarzanie się -------------------- http://streetonline.pl/?gback=1 - Kliknij i daj się podwieźć
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
a dopiero co pare dni temu pisalem o grupowaniu wynikow:
http://nospor.pl/grupowanie-wynikow-n35.html ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 16 Pomógł: 3 Dołączył: 14.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Kod $kategoriaq = "SELECT kategoria FROM katalog ORDER BY kategoria DESC";
$katq = mysql_query($kategoriaq); while($results = mysql_fetch_assoc($katq)){ $kt2[] = $results['kategoria']); } for($i=0;$i<count($kt2);$i++){ $f = $kt2[$i]; if(!empty($kt2[$i+1])){ $ch = $kt2[$i+1]; $t = ereg($f, $ch); if($t==false)$kt1[] = $kt2[$i]; } } for($i=0;$i<count($kt1);$i++) { $name_q = "SELECT nazwa FROM katalog WHERE karegoria='$kt1[$i]' "; $name_r_q = mysql_query($name_q); $string_out .= 'Kategoria : '.$kt1[$i]."\n"'; while($res = mysql_fetch_array($name_r_q)){ $nazwy[] = $res[0]; } for($i=0;$i<count($nazwy);$i++){ $f = $nazwy[$i]; if(!empty($nazwy[$i+1])){ $ch = $nazwy[$i+1]; $t = ereg($f, $ch); if($t==false)$out[] = $nazwy[$i]; } } for($i=0;$i<count($out);$i++){ $string_out .= $i.' Nazwa : '.$out[$i]; } } Ten post edytował robar12 1.04.2009, 13:04:05 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@robar12 w linku co podalem, masz napisane ze takie rozwiązanie jak Twoje jest bardzo nieoptymalne
![]() ps: uzywaj wlasciwego bbcode -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 18:04 |