Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Zaawansowane sortowanie wyników zapytania do bazy
filout
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 1.06.2012

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


Witam wszystkich

To mój pierwszy post na tym forum, więc proszę o wyrozumiałość (IMG:style_emoticons/default/wink.gif)

Zacznę od początku:

Chcę posortować wyniki zapytania do bazy i tu zaczynają sie schody:
Nie interesuje mnie sortowanie alfabetyczne bo to jest pikuś.
Chciałbym sortować wyniki zapytania według części wartości kolumny wyciągniętej z bazy.
Konkretnie (zeby bylo jasne o co mi chodzi):
interesują mnie 3 kolumny: ikona, tytul i podpis
problem twki w posortowaniu wyników wedlug części tytułu, który ma format: abc [cztery cyfry 0-9] xyz (oczywiście "abc" i "xyz" to tylko przykłady (IMG:style_emoticons/default/wink.gif) )
skrypt ma w pierwszej kolejnośći wyciągnąć zawartość nawiasu klamrowego, a następnie posortować: a. według wartości liczbowej w nawiasie b. alfabetycznie

Próbowałem z bazą danych:
  1. $th0000 = mysql_query("SELECT * FROM temat WHERE tytul LIKE '%[0000]%' ORDER BY tytul ASC");
  2. $th0001 = mysql_query("SELECT * FROM temat WHERE tytul LIKE '%[0001]%' ORDER BY tytul ASC");

niby działa, ale nie interesuje mnie 10k zapytań do bazy (IMG:style_emoticons/default/wink.gif)

spróbowałem, więc wyrażeń regularnych zaczynając od sortowania wg. schematu
i tu poległem (IMG:style_emoticons/default/sad.gif)
Wiem, że coś robię żle, ale sam jeszcze nie wiem co...

kiedy patrzę na ten kod wiem, że coś pominąłem, ale nie wiem jak się do tego zabrać

  1. $th = mysql_query("SELECT * FROM temat");
  2. $tem = mysql_fetch_array($th);
  3. $wzor = '/\\[[0-9]{4}\\]/';
  4.  
  5. while (preg_match($wzor, $temat['tytul']))
  6. {
  7. echo $tem['ikona'], "Tytuł: " $tem['tytul'], " napisał: ", $tem['podpis'], "</br>";
  8. }


pętla while w nieskończoność wywala mi pierwszy napotkany wynik
zastąpienie while instrukcją if daje mi tylko pierwszy wynik z bazy
"taka jest charakterystyka tych instrukcji" - to wiem

w takim razie co mogę zrobić żeby wyświetlało mi wszystkie wyniki zapytania odpowiadające łańcuchowi
mogę się tylko domyślać, że chodzi o nieodpowiednie umiejscowienie pętli w kodzie

jakieś propozycje lub sugestie?

Ten post edytował filout 1.06.2012, 04:44:18
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: 8.10.2025 - 14:10