Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Porządkowanie alfabetyczne...
Qrczak
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 25.02.2003

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


Witam wszystkich serdecznie!
Mam pytanie. Otóż muszę uporządkować alfabetycznie dane pobrane z bazy. Oczywiście robię to w ten sposób:

select*from tabela order by nazwa ASC

Jednak mi chodzi o to, aby przed wpisami zaczynający się na A, wyświetlała się litera A, przed wpisami zaczynajacy się na B, wyswietlała się literka B itd. Wiem, że trudno zrozumieć o co chodzi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Dlatego tu jest przykład dokładnie tego, o co mi chodzi:

http://www.e-basket.pl/?podpoddzial=21

Czy jest jakaś specjalna funkcja do tego? Jak to zrobić? Niestety nic mi nie przychodzi do głowy, chociaż wydaje mi się, że jest to banalne (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Z góry bardzo dziękuję za pomoc.

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Qrczak
post
Post #2





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 25.02.2003

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


Cytat
Ja bym to zrobił tak:

[php:1:ccbed8c0ae]<?php
$result = mysql_query("SELECT * FROM bleble ORDER BY nazwa ASC");
$litera = '';
while($row = mysql_fetch_array($result))
{
//Pobieramy pierwsza litere z nazwy
if(strtoupper($row['nazwa']{0}) == strtoupper($litera))
{
echo('<BR>' . strtoupper($row['nazwa']{0}) . '<BR><HR>');
}

echo('<a href="blabla">'. $row['nazwa'] .'<BR>');
$litera = $row['nazwa']{0};
}

?>[/php:1:ccbed8c0ae]

To powinno wyswietlic cos takiego:

A
--------------------------------------------------------
Acostam
Acostam1
Acostam2

B
---------------------------------------------------------
Bcostam
Bcostam1
Bcostam2

Itd...

Można oczywiście umieścić w tabelkach, ale to już zależy od inwencji własnej.



Niestety to nie działa (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Tzn., zakładając, że w bazie mam wpisy "andrzej, adam bartek, bronisława, czesław", wyświetla mi się w ten sposób:

A
------------
andrzej

A
------------
adam
bartek

B
------------
bronisława
czesław

A powinno się wyswietlac tak:

A
--------------
andrzej
adam

B
--------------
bartek
bronisława

C
-------------
czesław


Czy ktos potrafi mi pomoc? Bylbym naprawde bardzo, bardzo wdzięczny!
Go to the top of the page
+Quote Post

Posty w temacie


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: 3.10.2025 - 05:32