Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL][PHP]Ranking i Toplist
Forum PHP.pl > Forum > Przedszkole
ArekBe
Witam !

Nie wiem czy trafiłem na dobry dział, jak coś z góry przepraszam, jestem tutaj nowy.

Chciałbym na swojej stronie umieścić prosty system oceniania i osobnej strony dla wyświetlenia top listy. Chodzi o to, aby przy każdym nowo napisanym poście był jakiś rank w sensie albo ileś tam gwiazdek, albo po prostu przycisk typu "Fajne(*)", a gwiazda ma pokazywać ilość kliknięć. Na osobnej stronie chciałbym mieć listę top 10 lub 15 najlepszych, najwyżej ocenianych postów. Oczywiście skrypt w PHP z użyciem bazy MySQL(ewentualnie bez).

Można to zrobić w jakiś prosty sposób ? Fajnie by było, jakby ten system miał jakiś Antyspam typu blokada na IP.

Z góry dziękuję i pozdrawiam,
Arek !
Evinek
Można.

Pisz kod. Jak będziesz miał jakieś problemy to napisz, a my wtedy Ci pomożemy.
Jeśli chcesz gotowca to zły dział.
ArekBe
Okei, postaram się, dzięki za odpowiedź.

W porządku, mam dwa skrypty.

dodaj.php - dodawanie głosu do tablicy
  1. <?php
  2. //tutaj podaje haslo, login, nazwe bazy i hosta
  3. $haslo = 'haslo';
  4. $login = 'nazwabazy';
  5. $host = 'mysq..';
  6. $baza = 'nazwabazy';
  7. //pobieramy dane
  8. $nr=$_POST['nr'];
  9. //znowu logujemy sie do bazy mysql
  10. @ $bd = mysql_pconnect($host, $login, $haslo);
  11. if (!$bd)
  12. {
  13. echo 'Połączenie z bazą danych jest teraz nie możliwe.';
  14. }
  15. //wysylamy zapytanie
  16. //$zapytanie = "insert into `tablica` values ('".$nr."')";
  17. $zapytanie = "insert into `tablica` ( nr ) values ('".$nr."')";
  18. $dd = mysql_query($zapytanie);
  19. if($dd)
  20. {
  21. echo 'Głosowanie zakończone pomyślnie !';
  22. }
  23. else
  24. {
  25. echo 'Niestety głosowanie nie jest aktualnie możliwe, prosze spróbować później.';
  26. }
  27. //wczytanie pliku pierwszego
  28. echo '<script>';
  29. echo 'self.location.href="http://stronaglowna.pl";';
  30. echo '</script>';
  31. ?>


vote.php - lista top15 najlepiej ocenianych postów
  1. <?php
  2. //tutaj podaj haslo,login,nazwe bazy i hosta
  3. $haslo = 'haslo';
  4. $login = 'nazwabazy';
  5. $host = 'mysq..';
  6. $baza = 'nazwabazy';
  7. //logowanie do serwera mysql
  8. @ $bd = mysql_pconnect($host, $login, $haslo);
  9. if (!$bd)
  10. {
  11. echo 'Połączenie z bazą danych jest teraz nie możliwe.';
  12. }
  13. //wysyłamy zapytanie
  14. $zapytanie = 'SELECT `nr` FROM `vote` ORDER BY `id` DESC';
  15. $dd = mysql_query($zapytanie) or die($zapytanie.' / '.mysql_error());
  16. //wyswietlamy glosy
  17. while($bb = mysql_fetch_array($dd))
  18. {
  19. $nr=stripslashes($bb['nr']);
  20. echo 'Punkty '.$nr.'<br/>';
  21. }
  22. ?>


Teraz mam pytanie jak przerobić ten skrypt, aby działał jak należy oraz jak to zaimplementować do każdego nowo napisanego postu. Czyli jak zrobić ten przycisk z ilością głosów i jak segregować listę, aby pokazywało top15.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.