Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Segregowanie rekordów w grupy
oomaster
post
Post #1





Grupa: Zarejestrowani
Postów: 305
Pomógł: 3
Dołączył: 4.08.2006
Skąd: GDA

Ostrzeżenie: (0%)
-----


Witam,

Wyszukiwarka forum milczy na ten temat ale do rzeczy. Potrzebuje jakiegoś punktu podparcia jak to zrealizować. Przykładowo mam bazę:

Cytat
kat | tytul
1 | cos tam
3 | kolejny
2 | następny
1 | któryś tam
3 | dalszy


I chciałbym aby to tak się wyświetliło:

1
cos tam
któryś tam

2
następny

3
kolejny
dalszy


Oczywiście wszystko z jednego zapytanie jak to zrobić ? Jakich funkcji php i mysql użyć ?
Go to the top of the page
+Quote Post
piotrooo89
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




GROUP BY
Go to the top of the page
+Quote Post
vokiel
post
Post #3





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

Ostrzeżenie: (0%)
-----


@piotrooo89 a czy przypadkiem GROUP BY nie zwróci mu tylko:
Kod
1 | cos tam
2 | następny
3 | dalszy


Może ORDER BY?
  1. SELECT * FROM `tabela` ORDER BY `kat`
Go to the top of the page
+Quote Post
oomaster
post
Post #4





Grupa: Zarejestrowani
Postów: 305
Pomógł: 3
Dołączył: 4.08.2006
Skąd: GDA

Ostrzeżenie: (0%)
-----


No dobra ale jak teraz w php załatwić problem pobrania 1,2,3 jako kategorii wyświetlenia jej i przypisania do niej odpowiednich rekordów tak jak przykładowo napisałem w przykładzie ?
Go to the top of the page
+Quote Post
thek
post
Post #5





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Posortuj według nazwy kategorii ( ORDER BY) i pobierz rekordy. Po stronie PHP rozpoznawaj kiedy przetwarzany rekord posiada inną nazwę kategorii niż rekord poprzedni. Jeśli są różnice - wyświetl nazwę czy co tam chcesz... Jak to zrobić? A mniej więcej tak...
  1. $res = mysql_query( 'SELECT nazwy_kolumn, kategoria FROm tabela ORDER BY kategoria' );
  2. $kategoria = '';
  3. while( $row = mysql_fetch_assoc( $res ) ) {
  4. if( $row['kategoria'] != $kategoria ) {
  5. $kategoria = $row['kategoria'];
  6. echo $kategoria.'<br />';
  7. }
  8. //rekordy
  9. }
Zaznaczam, że to skrót, ale tak mniej więcej wygląda schemat. Oczywiście tak to wygląda jeśli robisz mieszanie html i php, czego nie lubię. Osobiście w podobnej do powyższej pętli zrobiłbym (i robię tak) tablicę o strukturze:
  1. $tablica = array ( '1' => array( 'pierwszy', 'drugi' ), '2' => array('trzeci', 'czwarty'), '3' => array( 'piąty' ) );
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 11:53