помогайте, так как времени не хватает разобраться, да и похоже у меня винда глюк полны, надо переставить вместе с денвером, написал класс, но как то не ожиданно он себя ведет
class Vote {
public $type;
public $user;
function __construct($user, $type) {
$this->type = $type;
$this->user = $user;
$this->check();
}
public function check() {
if (isset($_GET['voteadd']) && isset($_GET['voteid'])) {
$pid = intval($_GET['voteid']);
$this->add($pid);
}
}
public function add($pid) {
$cnt = mysql_result(mysql_query("SELECT COUNT(*) FROM `vote` WHERE `user_id`=" . $this->user . " AND `vote_id`=" . intval($pid) . " AND `type`='" . $this->type . "'"), 0);
if ($cnt > 0) {
mysql_query("DELETE FROM `vote` WHERE `user_id`='" . $this->user . "' AND `vote_id`='" . intval($pid) . "' AND `type`='" . $this->type . "' LIMIT 1");
} else {
mysql_query("INSERT INTO `vote` SET `user_id`='" . $this->user . "' AND `vote_id`='" . intval($pid) . "' AND `type`='" . $this->type . "'");
}
if (mysql_affected_rows()>0) {
ob_end_clean();
header('Location: ' . $_SERVER['HTTP_REFERER']);
ob_end_flush();
exit;
}
}
public function view($post_id) {
$cnt = mysql_result(mysql_query("SELECT COUNT(*) FROM `vote` WHERE `user_id`=" . $this->user . " AND `vote_id`=" . intval($post_id) . " AND `type`='" . $this->type . "'"), 0);
$link = '?voteadd&voteid=' . intval($post_id);
return '<div>' . $cnt . ' <a href="' . $link . '">мне нравиться</a></div>';
}
#function __destruct() {
#foreach ($this as $key => $value) {
#unset($this->$key);
#}
#}
}добавляем в форум
#include('../incfiles/classes/vote.php'); // по идеи если положить файл класса в папку inclfiles/classes должен заработать автолоад
$vote = new Vote($user_id, 'forum_post');и в цикл выдачи поста форума
echo $vote->view($res['id']);