Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] Skrypt oceniania... do dokonczenia
Forum PHP.pl > Forum > Przedszkole
in5ane
Czy da z tego zrobic dzialajace ocenianie?
Chodzi o to ze chcialbym oceniac w skrypcie produkty.
Zmienna $id, ktora zostala uzyta w dodawaniu do bazy jest to zmienna produktu, przenoszona z innego pliku. Jak z tym zrobic zeby dobrze dzialalo? Prosze was bardzo pomozcie mi.

  1. <?
  2. include("config.php");
  3. echo '<form method="post" action=#><select name="ocena"><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option></select><br><br><input type="submit" name="send" value="Wyslij"></form>';
  4.  
  5. if($_POST[send] == "Wyslij") {
  6. $_POST[ocena] = round($_POST[ocena]);
  7.  
  8. if($_POST[ocena] > 5) $_POST[ocena] = 5;
  9. if($_POST[ocena] < 1) $_POST[ocena] = 1;
  10.  
  11. $query = "INSERT INTO ocena(ocena, time, to_user) VALUES('$ocena', '".time()."', '$id')";
  12. }
  13.  
  14.  
  15. $suma = 0;
  16. $ilosc = 0;
  17. $query = "SELECT * FROM ocena WHERE to_user='$id';";
  18. $result = mysql_query($query);
  19. while($row = mysql_fetch_assoc($result)) {
  20. $suma += $row[ocena];
  21. $ilosc++;
  22. }
  23.  
  24. $srednia = $suma / $ilosc;
  25. echo "$srednia";
  26. ?>



Baza danych wyglada tak:
  1. `id` int(11) NOT NULL AUTO_INCREMENT,
  2. `ocena` int(11) NOT NULL,
  3. `time` int(11) NOT NULL,
  4. `to_user` int(11) NOT NULL,




Jezeli ktos chce mi prywatnie pomoc to na gg niech pisze 7303831.
Kicok
A co dokładnie nie działa w tym skrypcie?

PS. Można prościej:
  1. <?php
  2. $query = "SELECT AVG(`ocena`) AS `srednia` FROM `ocena` WHERE `to_user`=$id;";
  3. $result = mysql_query($query);
  4. $row = mysql_fetch_assoc($result);
  5. echo($row['srednia']);
  6. ?>



Chyba wiem co nie działa, zapomniałeś wykonać to zapytanie:
  1. <?php
  2. $query = "INSERT INTO ocena(ocena, time, to_user) VALUES('$ocena', '".time()."', '$id')";
  3. ?>
in5ane
tzn. nie wiem jak go ziintegrowac dokladnie ze strona, i nie dodaje do bazy. i czy sa w nim jakies takie bledy widoczne.
Cienki1980
Nie dodaje do bazy bo nie wykonujesz nigdzie zapytania dodającego.

Dodać kod do istniejącej strony musisz sam. Zresztą zamiast korzystać z jakiegoś gotowca/wycinka innego kodu mogłeś pokusić się o napisanie od podstaw. Wtedy byś nie miał problemów z integracją. Sklep internetowy tworzysz, i jak można poszukać na forum z Ogłoszeniami o pracę pisałeś, że podejmiesz się zrobienia takowego to i powinieneś napisać taki prosty skrypt.

No ale, żeby nie wyjść na niedobrego forumowicza powiem tak. Musisz przy każdym produkcie pokazać opcję do oceniania ( select z wartościami ) po którego zatwierdzeniu będziesz wykonywał dodawanie nowej oceny. Polecam stworzyć funkcję, którą będziesz wywoływał w przypadku oceny podając tylko ID produktu i ocenę ... no i może drugą funkcję, do której podasz ID produktu a ona zwróci Ci średnią ocenę.
in5ane
dobra, postapilem jak mi powiedziales, sam napisalem i dziala smile.gif
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.