Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Jak zrobić proste ocenianie...
Forum PHP.pl > Forum > Gotowe rozwiązania
sottu
Witam jak wyglądał by skrypt na proste ocenianie od 1-10 filmów w bazie? Napisał by ktoś taki prosty skrypt ?
tabele :
ocena

1.id_o
2.id_f
3.ocena

film:
1.id_f
2.tytuł

Z góry dziękuję.
thek
My pomagamy... Nie piszemy gotowce bo ktoś chce mieć skrypt. Chcesz zlecenie dać? To do działu odpowiedniego z takim ogłoszeniem, a nie tutaj. Pokaż co już masz sam zrobione.
sottu
Faktycznie na łatwiznę chciałem pójść. Przepraszam za to.
Więc tak:
Wiem jak zrobić checkboxa z wyborem od 1-10 który wpisuje odpowiedź w tabelę i liczy użytkownika, później dzieli sumę ocen przez liczbę użytkowników i wyświetla ocenę. Tylko czy da się później zrobić jakieś zapytanie które sprawdzi jaka jest ocena i wstawi odpowiednią ilość gwiazdek obok oceny? Czy tak może wyglądać skrypt na ocenę do bazy ? czy to ma sens ?
thek
Powiem tak... Jeśli oceniać mają userzy to źle projektujesz tabelę ocen. Powinno być id_usera, id_filmu, ocena, by ładnie liczyło się średnią, by było można zablokować userowi wystawienie innej oceny temu samemu filmowi, by łatwo policzyć średnią, zliczyć ile osób oddało głos na film czy zobaczyć jakie filmy ocenił konkretny user, które ocenił na jaką ocenę czy inne duperelki smile.gif To JAK rozwiążesz przydzielanie oceny filmowi od strony usera to już nieistotne. Może być radio, może być jakiś JS. Kwestia umiejętności kodowania. id_oceny jest kompletnie zbędne. Jeśli jednak chcesz wiedzieć kiedy dany user głosował to możesz jeszcze dorzucić timestamp z current timestamp wstawianym przy tworzeniu smile.gif
sottu
Dziękuję bardzo za podpowiedź zobaczę co z tego wyjdzie
Kowol
Coś takiego:
  1. <?
  2. $ocena = 2;
  3. $sql = new mysqli('localhost', 'root', '*********', 'baza');
  4. $id = $_GET['id']; //id filmu pobierane jest z paska adresu, zmienna ?id=
  5. /*
  6.   tutaj miejsce na jakas forme z ocenami
  7.   */
  8. $sql->query("INSERT INTO oceny VALUES (NULL, $id, '$ocena')"); // zmienna $ocena ma zawierac jakas ocene, mozesz dolozyc sobie jakas forme etc
  9. $count = $sql->query("SELECT count(id_o) FROM oceny WHERE id_f = $id")->fetch_array(); // zliczamy ilosc rekordow
  10. echo "Zaglosowales na film o id $id. Twoja ocena to $ocena<br> Aktualan liczba glosow w bazie to $count[0]";
  11. $sql->close;
  12. ?>


Zapytania sql:
  1. CREATE TABLE IF NOT EXISTS `filmy` (
  2. `id_f` int(11) NOT NULL AUTO_INCREMENT,
  3. `tytul` text NOT NULL,
  4. PRIMARY KEY (`id_f`)
  5. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


  1. CREATE TABLE IF NOT EXISTS `oceny` (
  2. `id_o` int(11) NOT NULL AUTO_INCREMENT,
  3. `id_f` int(11) NOT NULL DEFAULT '0',
  4. `ocena` int(2) NOT NULL DEFAULT '0',
  5. PRIMARY KEY (`id_o`)
  6. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=118 ;


Coś takiego
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-2024 Invision Power Services, Inc.