Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Porządkowanie alfabetyczne...
Forum PHP.pl > Forum > PHP
Qrczak
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 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 smile.gif

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

Pozdrawiam
spenalzo
Może funkcja [manual:3600c68a88]print[/manual:3600c68a88]? Bo nie mogę połapać się o co chodzi...

_____
update 2:30

czy chodzi o te litery alfabetu przed nazwiskami?
To ja proponuję
[php:1:3600c68a88]<?php
$arrAlfabet=array("A","B","C") # itd itp
for($i=0; $i<count($arrAlfabet); $i++)
{
echo $arrAlfabet[$i]."<br>";;
# dalej wiadomo jak :-)
}
?>[/php:1:3600c68a88]
Niemczyk
select*from tabela order by nazwa ORDER BY i juz zaczyna się od A i tak Do Z
cahe
Cytat
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 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 smile.gif

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

Pozdrawiam


Ja bym to zrobił tak:

[php:1:f13be40a6a]<?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:f13be40a6a]

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.
Qrczak
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 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!
Qrczak
Juz mam rozwiazanie biggrin.gif Jeśli kogos to interesuje, to jest ono tutaj: http://www.ygreg.com/forum/index.php?fid=1...playthread.html

Dzieki wielkie wszystkim, ktorzy chcieli mi pomóc!
cahe
Cytat
Niestety to nie działa 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:
Czy ktos potrafi mi pomoc? Bylbym naprawde bardzo, bardzo wdzięczny!


Być może - nie testowałem :-). Pewnie przekręciłem kolejność ifów czy coś. ***Pisane z palca tongue.gif***
scanner
Może ktoś by się ograniczał z cytowaniem, co?
Jabol
Cytat
***Pisane z palca tongue.gif***
Szczerze to ja zawsze tak piszę winksmiley.jpg . Nie znam innego sposobu i w sumie wcale nie potrzebuje.
cahe
Cytat
Może ktoś by się ograniczał z cytowaniem, co?


Pewnie :-).
cahe
Cytat
Cytat
***Pisane z palca tongue.gif***
Szczerze to ja zawsze tak piszę winksmiley.jpg . Nie znam innego sposobu i w sumie wcale nie potrzebuje.


Nie wiem co masz na myśli, ale mi chodziło o pisanie od razu na forum skryptu i nie testowanie go lokalnie :-). Faktycznie - 'z palca' może być mylące. Jeśli jednak chodzi nam o to samo - super :-).
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.