Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql] Skrypt oceniania... do dokonczenia, prosze o pomoc
in5ane
post
Post #1





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

Ostrzeżenie: (10%)
X----


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.

Ten post edytował strife 16.02.2007, 21:54:21
Go to the top of the page
+Quote Post
Kicok
post
Post #2





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


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. ?>


Ten post edytował Kicok 16.02.2007, 20:29:24
Go to the top of the page
+Quote Post
in5ane
post
Post #3





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

Ostrzeżenie: (10%)
X----


tzn. nie wiem jak go ziintegrowac dokladnie ze strona, i nie dodaje do bazy. i czy sa w nim jakies takie bledy widoczne.
Go to the top of the page
+Quote Post
Cienki1980
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


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ę.
Go to the top of the page
+Quote Post
in5ane
post
Post #5





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

Ostrzeżenie: (10%)
X----


dobra, postapilem jak mi powiedziales, sam napisalem i dziala (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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: 22.08.2025 - 23:41