Skocz do zawartości

[PHP/MySQL] Licznik Tematów oraz Postów


Necro

Rekomendowane odpowiedzi

Witam.

Chce zrobić aby przy każdej nazwie kategorii była napisana ilość tematów, postów oraz jaka osoba napisała ostatniego posta ale nie bardzo wiem jak.

Struktura bazy:

id
wid (To jest id postu)
cid (To jest id kategorii)
for_ptitle
for_text
for_mail
for_data
for_dataw
for_ip
for_name (To jest nick osoby która napisała)

To jest kod gdzie wyświetlam kategorie:

$sql = mysql_query("SELECT cid, cat_name FROM sforum_categories ORDER BY cat_name ASC");
echo '<div class="forum">
<div class="forum_content">
<b>Nasze Forum</b>
<table style="width: 100%;" class="forum_content">
<tr>
<th style="width: 60%;">Nazwa kategorii</th>
<th style="width: 10%;">Tematy</th>
<th style="width: 10%;">Posty</th>
<th style="width: 20%;">Ostatni Post</th>
</tr>';
	while(list($cid, $cat_name) = mysql_fetch_row($sql)) {
		echo '<tr>
<td style="text-align: left;"><a href="index.php?cid='.$cid.'" style="font-weight: bold;">'.$cat_name.'</a>
<br><span style="font-size: 10px;">Mów co chcesz, my tylko się przyglądamy...</span></td>
<td>Tematów</td>
<td>Postów</td>
<td><a href="#">Admin</a></td></tr>';

Tutaj możecie zobaczyć cały skrypt: https://193.59.120.51/forum.txt

Proszę o pomoc.

Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

Zrobiłem tak do ostatniego postu:

$sql = mysql_query("SELECT cid, cat_name FROM sforum_categories ORDER BY cat_name ASC");
$licznik = mysql_query("SELECT for_name FROM sforum ORDER BY cid DESC LIMIT 1");
$ile = mysql_fetch_array($licznik);

echo '<div class="forum">
<div class="forum_content">
<b>Nasze Forum</b>
<table style="width: 100%;" class="forum_content">
<tr>
<th style="width: 60%;">Nazwa Kategorii</th>
<th style="width: 10%;">Tematy</th>
<th style="width: 10%;">Posty</th>
<th style="width: 20%;">Ostatni Post</th>
</tr>';
	while(list($cid, $cat_name) = mysql_fetch_row($sql)) {
		echo '<tr>
<td style="text-align: left;"><a href="index.php?cid='.$cid.'" style="font-weight: bold;">'.$cat_name.'</a>
<br><span style="font-size: 10px;">Opis Kategorii, będzie później...</span></td>
<td>Tematów</td>
<td>Postów '.$ile1.'</td>
<td><a href="#">'.$ile['for_name'].'</a></td></tr>';

Ale zawsze wyświetla admin, tutaj możecie luknąć: https://193.59.120.51

Odnośnik do komentarza
Udostępnij na innych stronach

--kategoria: nazwa, ilosc postow--

SELECT kategoria.id as id, COUNT(*), kategoria.nazwa FROM kategoria

INNER JOIN post

ON post.kategoria_id = kategoria.id

GROUP BY kategoria.id

--wszystko w jednej kwerendzie: id kategorii, id uzytkownika, nazwa kategorii, nazwa uzytkownika, tytul ostatniego postu, ilosc postow w kategorii--

SELECT kategoria.id as id, user.id as user_id, kategoria.nazwa, user.nazwa, post.tytul, COUNT(*) as ilosc FROM kategoria

INNER JOIN post

ON post.kategoria_id = kategoria.id

INNER JOIN user

ON post.user_ud = user.id

GROUP BY kategoria.id

ORDER BY post.dodany DESC

Nie da się tak napisać czegokolwiek gotowego, nie ma ani struktury tabel, ani skryptu ani CSS'a (jest wycinek). Nawet gdyby były to nie można kodu wykonywać "w głowie" i napisać czegoś powiązanego z całym forum na podstawie kilku wycinków z jego pliku i dwóch zdań opisu.

Często widzę tutaj na forum posty odnośnie dostosowywania jakichś systemów, ale to raczej bez sensu - trzeba po prostu dać komuś dostęp do serwera, tzn. poszukać kogoś kto to zrobi albo zadać konkretne pytanie nie związane bezpośrednio z systemem. No chyba, że to bardzo popularny system a moduje się kod zaraz po instalacji. Chociaż tutaj też nie wiem, czy znalazłby się ktoś kto instalowałby skrypt, żeby odpowiedzieć na post na forum ale może np. jest do tego gotowy moduł.

Edit: sorry widzę, że to początek forum a nie wycinek kodu/bazy. Jednak opis bazy zbyt szczątkowy. Poza tym powinieneś podzielić na tabele posty/użytkownicy/kategorie. Z resztą nie wiem, czy tak już nie masz. Jak pisałem zbyt mało opisu.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności