Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> spis alfabetyczny
lovefool
post 10.05.2004, 19:39:33
Post #1





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 19.05.2003
Skąd: Millhaven

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


Witam !

Do bazy wprowadzam rekordy które rzecz jasna zaczynają się każdy na inną litere...Wyświetlane są one wszystkie w kolejności alfabetycznej. I od razu mówię, że rozwiązanie typu "like%a" "like%b" odpada ! I może teraz na przykładzie:

przykładowe rekordy:

-ananas
-arbuz
-banan
-pomarańcze
-poziomki

I chciałbym aby przy pierwszym rekordzie każdej litery alfabetu wyświetlała się ona...czyli:

A
-ananas
-arbuz

B
-banan

P
-pomarańcze
`poziomki

Mam nadzieję, że dość wyraźnie przedstawiłem problem :wink:

pozdrawiam !


--------------------
Tak kochamy marzenia, że boimy się je realizować ...
Go to the top of the page
+Quote Post
BzikOS
post 11.05.2004, 00:36:14
Post #2





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


Cytat
Mam nadzieję, że dość wyraźnie przedstawiłem problem :wink:


No właśnie nie bardzo tongue.gif
Czy chodzi Ci o pobranie wszystkich danych z bazy w kolejności alfabetycznej i w momencie wyświetlania posegregowanie ich? Jeżeli tak, to można to zrobić poprzez wygenerowanie z wyniku zapytania tablicy, np. tak:
[php:1:3da6005b3f]<?php
$alfabet = Array();

while( list( $slowo ) = @mysql_fetch_assoc( $resultat_zapytania_do_bazy ) )
$alfabet[strtoupper($slowo[0])][] = $slowo;

print_r( $alfabet );
?>[/php:1:3da6005b3f]

Pisane z palca. Czy o to chodzi?
Go to the top of the page
+Quote Post
halfik
post 11.05.2004, 12:37:26
Post #3





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 17.05.2003
Skąd: Nysa

Ostrzeżenie: (10%)
X----


[sql:1:536594421a]
SELECT bla bla bla... FROM cos tam ORDER BY pole1 ASC|DESC
[/sql:1:536594421a] ?


--------------------


"Nie wiedziałem tylko, że Bóg też był na grzybach, gdy majstrował przy wszechświecie" (Janusz Wisniewski)
dev: gazeta.ie
Go to the top of the page
+Quote Post
lovefool
post 11.05.2004, 17:50:51
Post #4





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 19.05.2003
Skąd: Millhaven

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


Hehe laugh.gif
Moze faktycznie nie do końca wytłuamczyłem smile.gif


Ananas i arbuz są na literę "A" ... Więc chicałbym ją wyświetlić !
Banan na literę "B" - wyświetlić literę "B"!
Czyli w praktyce:

A
-ananas
-arbuz

B
-banan

P
-pomarańcze
-poziomki

Bo chcę uniknąć czegoś takiego, że :
[php:1:6d3f2b00d2]<?php

echo "A";
query = mysql_query("SELECT * FROM owoce WHERE nazwy LIKE 'a%'");
while ($row = mysql_fetch_array($query))
{
echo $row["nazwy"];
}

echo "B";
query = mysql_query("SELECT * FROM owoce WHERE nazwy LIKE 'b%'");
while ($row = mysql_fetch_array($query))
{
echo $row["nazwy"];
}


?>[/php:1:6d3f2b00d2]

pozdrawiam !


--------------------
Tak kochamy marzenia, że boimy się je realizować ...
Go to the top of the page
+Quote Post
BzikOS
post 11.05.2004, 19:18:37
Post #5





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


To wyciągnij wszystkie rekordy z kolumny 'nazwy' i zastosuj kod, który Ci podałem.
Go to the top of the page
+Quote Post
lovefool
post 11.05.2004, 20:07:51
Post #6





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 19.05.2003
Skąd: Millhaven

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


Szczerze mówiąc nie wiele z tego rozumiem ... Pewnie dlatego, że pierwszy raz spotykam się z tablicami ...
W każdym razie musiałem coś pochrzanić :x

[php:1:3b750d63bd]<?php
$query = mysql_query("SELECT kategoria FROM multimedia ");
$alfabet = Array();
while( list( $slowo ) = @mysql_fetch_assoc( $query ) )
$alfabet[strtoupper($slowo[0])][] = $slowo;
print_r( $alfabet );
?>[/php:1:3b750d63bd]
z mysql_fetch_assoc wychodzą bzdury, jedynie mysql_fetch_array "niby" jest dobrze bo pokazuje pierwszą literę choć w dziwnej formie:
[php:1:3b750d63bd]<?php
Array ( [D] => Array ( [0] => dzwonki [1] => dzwonki ) [T] => Array ( [0] => teledyski [1] => teledyski [2] => teledyski [3] => teledyski [4] => teledyski ) )
?>[/php:1:3b750d63bd]

Co poradzić ?


--------------------
Tak kochamy marzenia, że boimy się je realizować ...
Go to the top of the page
+Quote Post
BzikOS
post 11.05.2004, 20:26:53
Post #7





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


Aj.. walnąłem się.. daj mysql_fetch_row zamiast fetch_array.

A postać tablicy jest najzupełniej normalna... Możesz sobie teraz z nią robić co tylko Ci się podoba... Jeżeli chcesz tylko wyświetlić to:

[php:1:ce4322d5e2]<?php
foreach( $alfabet as $litera => $slowa )
{
print( "<b>" . $litera . "<b><br>" );
foreach( $slowa as $slowo )
print( $slowo . "<br>" );
}
?>[/php:1:ce4322d5e2]
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 22.06.2025 - 10:39