Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP + MySQL] Sortowanie danych pobranych z bazy danych
henio
post
Post #1





Grupa: Zarejestrowani
Postów: 237
Pomógł: 1
Dołączył: 15.10.2004
Skąd: Lublin

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


Mam pewien kłopot z posortowaniem. Otóż mam tabele forum_topic i forum_post i chce posortowac wszystkie tematy malejąco po ostatnim dodanym poscie w danym temacie.
Fragment kodu:
  1. <?php
  2. elseif(@$_GET['id_forum_watek'] && @$_GET['id_forum_dzial'])
  3. {
  4. naglowekforum("Zobacz forum numer ".@$_GET['id_forum_dzial']."");
  5. echo "<a href='index.php?id_forum_dzial=".@$_GET['id_forum_dzial']."&id_forum_watek=".@$_GET['id_forum_watek']."&czynnosc=utworz_topic'>Utwórz nowy temat</a>\n";
  6. echo "<table align='center' width='90%' border='1' style='border-collapse: collapse'><tr bgcolor='#CCCFF'>";
  7. echo "<th colspan='2'>Ważne tematy</th><th width='50'>Posty</th><th width='100'>Autor</th><th width='150'>Ostatni post</th>\n";
  8. echo "</table><br />\n";
  9. echo "<table align='center' width='90%' border='1' style='border-collapse: collapse'><tr bgcolor='#CCCFF'>";
  10. echo "<th colspan='2'>Tematy</th><th width='50'>Posty</th><th width='100'>Autor</th><th width='150'>Ostatni post</th>\n";
  11.  
  12. $query4 = "SELECT * FROM forum_topic WHERE id_forum_dzial = '".@$_GET['id_forum_dzial']."' AND id_forum_watek='".@$_GET['id_forum_watek']."'";
  13. $result4 = mysqli_query($mysql, $query4) or die('zapytanie: '.$query4.'---blad:'.mysqli_error($mysql));
  14.  
  15. while ($row4 = mysqli_fetch_assoc($result4))
  16. {
  17. echo "<tr><td>=></td><td width='60%'><a href='index.php?id_forum_dzial=".@$_GET['id_forum_dzial']."&id_forum_watek=".@$_GET['id_forum_watek']."&id_forum_topic=".$row4['id_forum_topic']."'>".$row4['tytul']."</a><br />".$row4['podtytul']."</td><td>";
  18.  
  19. $query8 = "SELECT * FROM forum_post WHERE id_forum_topic = '".$row4['id_forum_topic']."'";
  20. $result8 = mysqli_query($mysql, $query8) or die('zapytanie: '.$query8.'---blad:'.mysqli_error($mysql));
  21. $liczba_postow = mysqli_num_rows($result8);
  22. echo "".$liczba_postow."</td><td>";
  23.  
  24. $query5 = "SELECT nick FROM forum_uzytkownicy WHERE id_forum_user = '".$row4['id_forum_user']."'";
  25. $result5 = mysqli_query($mysql, $query5) or die('zapytanie: '.$query5.'---blad:'.mysqli_error($mysql));
  26. while ($row5 = mysqli_fetch_assoc($result5))
  27. {
  28. echo "".$row5['nick']."</td><td>";
  29. }
  30.  
  31. $query6 = "SELECT data_powstania, id_forum_user FROM forum_post WHERE id_forum_topic =
     '"
    .$row4['id_forum_topic']."' ORDER BY data_powstania DESC LIMIT 0,1";
  32. $result6 = mysqli_query($mysql, $query6) or die('zapytanie: '.$query6.'---blad:'.mysqli_error($mysql));
  33. while ($row6 = mysqli_fetch_assoc($result6))
  34. {
  35. echo "".$row6['data_powstania']."<br />";
  36. $query7 = "SELECT nick FROM forum_uzytkownicy WHERE id_forum_user = '".$row6['id_forum_user']."'";
  37. $result7 = mysqli_query($mysql, $query7) or die('zapytanie: '.$query7.'---blad:'.mysqli_error($mysql));
  38. while ($row7 = mysqli_fetch_assoc($result7))
  39. {
  40. echo "".$row7['nick']."</td>";
  41. }
  42. }
  43. echo "</tr>\n";
  44. }
  45. echo "</table>\n";
  46. }
  47. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
henio
post
Post #2





Grupa: Zarejestrowani
Postów: 237
Pomógł: 1
Dołączył: 15.10.2004
Skąd: Lublin

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


Co masz na myśli? Mam jeszcze raz stworzyć te tabele? Mam wstawić przykładowe dane do tych tabel?
Go to the top of the page
+Quote Post
JaRoPHP
post
Post #3





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

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


Cytat(henio @ 23.12.2007, 21:50:54 ) *
Co masz na myśli?

Aby forumowicze (w tym i ja (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ) mogli przetestować Twój kod - wrzuć na forum zapytanie tworzące te dwie tabele, oraz zapytania wstawiające przykładowe dane.
Jak wspomniałem - według mnie, wszystko powinno działać, na moich danych działało, ale może w tabelach masz jeszcze coś, czego ja nie uwzględniłem...
Go to the top of the page
+Quote Post
henio
post
Post #4





Grupa: Zarejestrowani
Postów: 237
Pomógł: 1
Dołączył: 15.10.2004
Skąd: Lublin

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


Cytat(JaRoPHP @ 24.12.2007, 11:04:38 ) *
Aby forumowicze (w tym i ja (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ) mogli przetestować Twój kod - wrzuć na forum zapytanie tworzące te dwie tabele, oraz zapytania wstawiające przykładowe dane.
Jak wspomniałem - według mnie, wszystko powinno działać, na moich danych działało, ale może w tabelach masz jeszcze coś, czego ja nie uwzględniłem...

Ok.

  1. CREATE TABLE forum_topic (id_forum_topic INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, tytul VARCHAR(25) NOT NULL, podtytul VARCHAR(65), id_forum_user INTEGER NOT NULL, id_forum_dzial INTEGER NOT NULL, id_forum_watek INTEGER NOT NULL, data_powstania VARCHAR(18) NOT NULL);
  2.  
  3. CREATE TABLE forum_post (id_forum_post INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, tytul VARCHAR(25), tresc TEXT NOT NULL, data_powstania VARCHAR(18) NOT NULL, id_forum_user INTEGER NOT NULL, id_forum_dzial INTEGER NOT NULL, id_forum_watek INTEGER NOT NULL, id_forum_topic INTEGER NOT NULL);
  4.  
  5. INSERT INTO forum_topic (id_forum_topic, tytul, podtytul, id_forum_user, id_forum_dzial, id_forum_watek, data_powstania) VALUES (1, 'Tytuł topica', 'Ble ble', 1, 1, 1, '2007-12-24, 12:45');
  6.  
  7. INSERT INTO forum_topic (id_forum_topic, tytul, podtytul, id_forum_user, id_forum_dzial, id_forum_watek, data_powstania) VALUES (2, 'Tytuł topica2', 'Ble ble', 1, 1, 1, '2007-12-24, 13:45');
  8.  
  9. INSERT INTO forum_post (id_forum_post, tytul, tresc, data_powstania, id_forum_user, id_forum_dzial, id_forum_watek, id_forum_topic) VALUES (1, 'Tytuł postu', 'Ble ble', '2007-12-24, 13:47', 1, 1, 1, 1);
  10.  
  11. INSERT INTO forum_post (id_forum_post, tytul, tresc, data_powstania, id_forum_user, id_forum_dzial, id_forum_watek, id_forum_topic) VALUES (2, 'Tytul postu2', 'Ble ble', '2007-12-24, 13:48', 1, 1, 1, 1);
  12.  
  13. INSERT INTO forum_post (id_forum_post, tytul, tresc, data_powstania, id_forum_user, id_forum_dzial, id_forum_watek, id_forum_topic) VALUES (3, 'Tytul postu3', 'Ble ble', '2007-12-24, 13:49', 1, 1, 1, 2);
  14.  
  15. INSERT INTO forum_post (id_forum_post, tytul, tresc, data_powstania, id_forum_user, id_forum_dzial, id_forum_watek, id_forum_topic) VALUES (4, 'Tytul postu4', 'Ble ble', '2007-12-24, 13:50', 1, 1, 1, 2);
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: 6.10.2025 - 09:14