система за гласуване от 1 до 5

PHP_Masters

Registered
Може ли някакъв код с mysql, за гласуване от 1 до 5 и оценката да се вижда подобно 3.2 и тнт
 
Написах ти кода (ще го видиш по-долу) сега да ти обясня как работи... Когато линка ти е от сорта на vote.php?action=stats ще ти показва статистиката за потребител или каквото е там с userid = 1 (ти ще си го нагласиш за какво и как да ти го взима, за да работи правилно с твоята система), а когато линка е от вида vote.php?action=vote ще ти изкарва страничката за гласуавне :)

Само да кажа, че ако в базата данни, че като гласуваш и в полето userid няма записано id няма да гласува и съответно няма да ти изкарва правилни отговори, за това трябва да си я настроиш по какво id да гласува и от къде ще го взима :)

vote.php
Код:
<?php
header("Content-Type: text/html; charset=UTF-8");

$db_host 	= 'localhost'; 				//MySQL сървърa
$username 	= ''; 					//MySQL име
$password 	= ''; 				//MySQL парола
$db_name 	= ''; 				//MySQL база от данни

$conn = mysql_connect($db_host, $username, $password) or die("MySQL Error!");
mysql_select_db($db_name) or die("MySQL Error!");
mysql_query("SET CHARACTER SET utf8", $conn);

$action = $_GET['action'];
$userid = "1";

if($action == "vote") {
echo "
<form action=\"\" method=\"post\">
	<select size=\"1\" name=\"vote\">
		<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>
	<input type=\"submit\" value=\"submit\" name=\"submit\">
</form>
";

if(isset($_POST['submit'])) {
$vote = $_POST['vote'];
$update = mysql_query("UPDATE `vote` set `vote`=vote+$vote, `voted`=voted+1 WHERE `userid`='$userid'");
}
}
elseif($action == "stats") {
$query = "SELECT * FROM `vote` WHERE `userid`='$userid'";
$result = mysql_query($query) OR die(mysql_error());
$row = mysql_fetch_array($result);

$evaluation = $row['vote'] / $row['voted'];
$evaluation = round($evaluation,1);

echo "Рейтинг: $evaluation";
}
?>

sql.sql
Код:
CREATE TABLE `vote` (
	`id` int(11) NOT NULL auto_increment,
	`userid` int(11) NOT NULL,
	`vote` int(255) NOT NULL,
	`voted` int(255) NOT NULL,
	PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=11 ;
 

Back
Горе