![]() |
![]() ![]() |
![]() |
![]()
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ć ...
|
|
|
![]()
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 ![]() 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? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 259 Pomógł: 0 Dołączył: 17.05.2003 Skąd: Nysa Ostrzeżenie: (10%) ![]() ![]() |
[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 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 51 Pomógł: 0 Dołączył: 19.05.2003 Skąd: Millhaven Ostrzeżenie: (0%) ![]() ![]() |
Hehe
![]() Moze faktycznie nie do końca wytłuamczyłem ![]() 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ć ...
|
|
|
![]()
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.
|
|
|
![]()
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ć ...
|
|
|
![]()
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] |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 22.06.2025 - 10:39 |