Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Rekurencja - Wyświetlenie ostatnio napisanego Posta
Weles
post
Post #1





Grupa: Zarejestrowani
Postów: 213
Pomógł: 0
Dołączył: 7.07.2011

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


Witam!

Potrzebuję znaleźć najnowszy napisany post w danym dziale, biorąc pod uwagę wszystkie jego subdziały, więc mam:

Tabelę: "dzialy".
W niej Kolumny: "kategoria - w jakiej dział ma być kategorii, jeśli 0 tzn. że to subdział", "sub - jeśli 0 tzn. że to nie subdział".

Oraz:

Tabelę: "tematy".
W niej kolumny: "nazwa - nazwa tematu", "dzial - przypisany ID działu w którym jest temat", "ost_data - podana data kiedy był ostatni post tam pisany".

I udało mi się w pewnym stopniu wywołać najnowszy temat, lecz nie JEDEN, a najnowszy temat każdego z subdziałów danego działu,
Czyli jeśli dany dział "Dział1" który ma np. subdziały: "Abc","Def","Ghi","Jkl" to znajdzie mi najnowsze tematy każdego z nich, czyli nie jeden najnowszy w środku wszystkich, tylko:

Najnowszy temat 1 - "Działu1"
Najnowszy temat 2 - "Subdziału Abc"
Najnowszy temat 3 - "Subdziału Def"
Najnowszy temat 4 - "Subdziału Ghi"
Najnowszy temat 5 - "Subdziału Jkl"

A potrzebuję wyciągnąć tylko JEDEN najnowszy temat sprawdzając wszystkie z tych podkategorii.

Skrypt który napisałem i działał jak opisałem powyżej:

  1. function najnowszy_temat($id) {
  2. $krek1 = mysql_query("SELECT * FROM dzialy WHERE id='$id'");
  3. if(mysql_num_rows($krek1) > 0) {
  4. while($krek = mysql_fetch_array($krek1)) {
  5. $najnowszy_temat = mysql_fetch_array(mysql_query("SELECT nazwa, dzial, ost_data FROM tematy WHERE dzial='$id' ORDER BY ost_data DESC"));
  6. echo $najnowszy_temat['nazwa']; br();
  7. $subdzial = mysql_query("SELECT * FROM dzialy WHERE sub='$krek[id]'");
  8. if(mysql_num_rows($subdzial) > 0) {
  9. while($sub = mysql_fetch_array($subdzial)) {
  10. najnowszy_temat($sub['id']);
  11. }
  12. }
  13. }
  14. }
  15. }


Proszę o pomoc, męczę się z tym już od dłuższego czasu..
Uprzedzam z góry że nie chcę tworzyć nowej kolumny i dawać tam "IP", czyli np: "1.2.3".

Pozdrawiam!
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: 17.10.2025 - 21:04