---
title: "Problem med röstning/betyg"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/165736-problem-med-röstning-betyg"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Guldstrand"
published: "2007-10-23T11:13:41.000Z"
updated: "2007-10-25T12:30:47.000Z"
replies: 1
views: 475
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/165736-problem-med-röstning-betyg"
---

# Problem med röstning/betyg

## #1 — Guldstrand, 2007-10-23T11:13Z

Försöker ordna en "röstning" till ett artikelscript, men det fungerar inte riktigt som det ska.

**artikel.php**

```php
<?php 

$id = $_GET["id"];

if (!isset($id))
print("Ogiltigt ID."); 

$sql = "SELECT * FROM artiklar WHERE id = '$id'";
$result = mysql_query($sql);

while($rad = mysql_fetch_array($result))
{
$titel = $rad["titel"];
$text = $rad["text"];
$datum = $rad["datum"];
$medlem = $rad["medlem"]; 
$numratings = $rad["numratings"]; 
$ratingsum = $rad["ratingsum"];

if ($numratings != 0)
$betyg =  ROUND($ratingsum / $numratings, 1);
$rpic = ratingpic($betyg);

// HÄMTA NAMN - START
$res2 = mysql_query("SELECT user, kon FROM members WHERE id=$rad[medlem] LIMIT 1");
if (mysql_num_rows($res2) == 1)
{
$arr2 = mysql_fetch_assoc($res2);
$medlem2 = "$arr2[user]";
$kon = "$arr2[kon]";
}
// HÄMTA NAMN - SLUT

echo "Postad av: <a href=#>$medlem2</a> ($kon)<br/>Datum: $datum<br/><hr><strong>$titel</strong><br/>" .nl2br($text). "<br/><br/>"; 
}
?>

<form name="jump_to_rate">
<select name="rate_me" OnChange="location.href=jump_to_rate.rate_me.options[selectedIndex].value">
     <option selected> Rösta på artikel! 
     <option value="sidor/spara_betyg.php?id=<?=$id?>&rate_me=5">5- the best!
     <option value="sidor/spara_betyg.php?id=<?=$id?>&rate_me=4">4- great
     <option value="sidor/spara_betyg.php?id=<?=$id?>&rate_me=3">3- fair
     <option value="sidor/spara_betyg.php?id=<?=$id?>&rate_me=2">2- bad
     <option value="sidor/spara_betyg.php?id=<?=$id?>&rate_me=1">1- stinks
</select> <b>Betyg:</b> <?=$rpic?></form>
```

**spara_betyg.php**

```php
<?php 
ob_start(); 

include('../conn.php');
//=== ratings
if ($_GET["rate_me"]){

if ($_GET["rate_me"])
$rate_me = (int)$_GET['rate_me'];
if ($rate_me <= 0 || $rate_me > 5)
echo "invalid rating number";

$id = $_GET["id"];

if (!isset($id))
print("Ogiltigt ID.");

$res = mysql_query("SELECT artikel, medlem FROM betyg WHERE artikel = $id AND medlem = $_SESSION[sess_id]");
$row = mysql_fetch_array($res);
if ($row[artikel] >= 1) 
echo "Du har redan röstat på denna artikel.";
if ($row[artikel] == 0) 
$res = mysql_query("UPDATE betyg SET betyg = $rate_me WHERE artikel = $id AND medlem = $_SESSION[sess_id]");
if ($row)
$res = mysql_query("INSERT INTO betyg (artikel, medlem, betyg, datum) VALUES ($id, " . $_SESSION['sess_id'] . ", $rate_me, NOW())");
mysql_query("UPDATE artiklar SET numratings = numratings + 1, ratingsum = ratingsum + $rate_me WHERE id = $id");

$refererto = str_replace ('&amp;', '&', htmlentities($_SERVER["HTTP_REFERER"]));
$referer = ($_SERVER["HTTP_REFERER"] ? $refererto : "../show.php?page=artikel&id=$id");
header("Refresh: 0; url=$referer");
die;
} 
?>
```

"numratings" och "ratingsum" i tabellen "artiklar", fungerar som det ska.
Dock så sparas inga värden i tabellen "betyg".

```php
CREATE TABLE `betyg` (
  `artikel` int(10) unsigned NOT NULL default '0',
  `medlem` int(10) unsigned NOT NULL default '0',
  `betyg` tinyint(3) unsigned NOT NULL default '0',
  `datum` datetime NOT NULL default '0000-00-00 00:00:00',
  PRIMARY KEY  (`artikel`,`medlem`),
  KEY `medlem` (`medlem`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
```

Tacksam ifall någon kunde hjälpa mig med detta.  :r

Permalänk: https://www.webforum.nu/p/165736

## #2 — Fuel, 2007-10-25T12:30Z

En UPDATE .. men om ingen har röstat på en artikel så finns det väl inget att uppdatera ?

Permalänk: https://www.webforum.nu/p/2044281

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/165736-problem-med-röstning-betyg
