Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pętla i mysql
Forum PHP.pl > Forum > PHP
Smoker
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ę
nospor
a dopiero co pare dni temu pisalem o grupowaniu wynikow:
http://nospor.pl/grupowanie-wynikow-n35.html
smile.gif
robar12
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];
  
}
  }
nospor
@robar12 w linku co podalem, masz napisane ze takie rozwiązanie jak Twoje jest bardzo nieoptymalne winksmiley.jpg

ps: uzywaj wlasciwego bbcode
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.