Avatar billede zurekk Nybegynder
29. januar 2006 - 20:04 Der er 5 kommentarer og
1 løsning

Fejl i simpelt rating system

Hej, jeg har et problem med et rating system jeg fik herinde fra.

Det ser således ud.

Rated.php(process) :
include("connect.php");
if (!empty($_POST['submit'])) {
mysql_query("UPDATE film SET rated_ialt = rated_ialt + '$_POST[rate]', rating_antal = rating_antal + 1 WHERE id = '$_GET[id]'") or die(mysql_error());
mysql_query("UPDATE film SET rating_antal = rating_antal + 1 WHERE id = '$_GET[id]'") or die(mysql_error());



Vis_film.php :
$rated_ialt = $row['rated_ialt'];
$rating_antal = $row['rating_antal'];

$procent = $rated_ialt/$rating_antal;
....


dump.sql :
`rated_ialt` varchar(255) NOT NULL,
`rating_antal` varchar(255) NOT NULL,



Og fejlen ser således ud :
Warning: Division by zero in C:\Inetpub\wwwroot\zurekk-34ht.dk\CyberStuff\1337\a\film\vis_film.php on line 16



Den kan ikke dividere med 0, og det er jo forståeligt, men hvad skal jeg så gøre for at få det til at virke :/ ?

Håber det er til at forstå :-)
Avatar billede yezbarh Nybegynder
29. januar 2006 - 20:05 #1
Lav en if-sætning som siger:
hvis resultatet er 0 så ikke divider

  if ($rating_antal == 0)
  $procent = 0;
  else
  $procent = $rated_ialt/$rating_antal;

-- eller noget i den stil
Avatar billede zurekk Nybegynder
29. januar 2006 - 20:12 #2
Ja nu er der ingen fejl, og den printer et nul.
Men når jeg rater opdatere den ikke i databasen :/ ?

if (!empty($_POST['submit'])) {
mysql_query("UPDATE film SET rated_ialt = rated_ialt + '$_POST[rate]', rating_antal = rating_antal + 1 WHERE id = '$_GET[id]'") or die(mysql_error());
mysql_query("UPDATE film SET rating_antal = rating_antal + 1 WHERE id = '$_GET[id]'") or die(mysql_error());


Er der noget forkert der ?
Avatar billede polle007 Nybegynder
30. januar 2006 - 11:23 #3
dine databasekolonner har du lavet som varchar. Prøv at benyt int i stedet for
Avatar billede johan.o Nybegynder
31. januar 2006 - 10:45 #4
Hvis ikke polle007's råd hjælper dig, så prøv at putte din sql query streng i en variabel og vis indholdet af denne, det kan ofte hjælpe. F.eks.:

$q="UPDATE film SET rated_ialt = rated_ialt + '$_POST[rate]', rating_antal = rating_antal + 1 WHERE id = '$_GET[id]'";
echo $q; die;

Så får du sikkerhed for at POST/GET informationerne er korrekte.

Mvh. Johan
Avatar billede zurekk Nybegynder
03. februar 2006 - 20:23 #5
j
Avatar billede johan.o Nybegynder
03. februar 2006 - 22:04 #6
Okay, man skulle da ellers mene at 'yezbarh' havde besvaret dit originale spørgsmål, så mon ikke han skulle have lidt af pointene ?

Mvh. Johan
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

Seneste spørgsmål Seneste aktivitet
I går 21:00 Libre Office Impress Af Frank i Andre styresystemer
I går 11:47 VB script Af Jenshentze i Word
I går 11:21 Popup ved opstart Af mort1 i Windows
04/0918:50 Slet lokal konto Af ErikHg i Windows
04/0916:05 Ændre tal i en celle Af xvid i Excel