W ramach ćwiczeń OOP (jestem początkującym w OOP) zacząłem robić sobie taki prosty "system" oceniania artykułów. Pojawił mi się taki problem, że gdy chcę zmienić w tabelce za pomocą "update" ilość głosów, to ilość oczywiście się zmienia, jednak nie tak jak powinno. Mam nadzieję, że będę mógł liczyć na Waszą pomoc. Kod przedstawiam poniżej.
Klasa artykuły:
<?php class Articles { private $article_id; private $title; private $content; private $date; private $author; { $articles = DatabaseManager::query("SELECT * FROM Articles"); return $articles; } } ?>
Klasa Voter:
<?php class Voter { { $quantity = DatabaseManager::queryBySQL('SELECT vote_quantity FROM Votes WHERE article_id = '.$article_id); return $quantity[0]['vote_quantity']; } { //$quantity = self::getArticleVoteQuantity($article_id, $quantity); $update = DatabaseManager::updateTable('UPDATE Votes SET vote_quantity = \''.$quantity.'\' WHERE article_id = '.$article_id); return $update; } } ?>
Klasa DatabaseManager:
<?php class DatabaseManager { { $connection = new mysqli(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME); if (mysqli_connect_errno()) { } else { $connection->query('SET NAMES \'uft8\''); return $connection; } } { $conn = self::getConnection(); $conn->query($query); if ($conn->affected_rows) { return true; } else { return false; } mysqli_close($conn); } } ?>
index.php:
<?php include_once 'resources/config.php'; ?> <!DOCTYPE html> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" type="text/css" href="css/style.css" /> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> <script type="text/javascript" src="js/scripts.js"></script> </head> <body> <?php $allArticles = new Articles; $articles = $allArticles -> getAllArticles(); foreach ($articles as $article) { echo ' <div class="gwiazdki"> <a href="index.php?article_id='.$article['article_id'].'&vote=1">1</a> <a href="index.php?article_id='.$article['article_id'].'&vote=2">3</a> <a href="index.php?article_id='.$article['article_id'].'&vote=3">3</a> <a href="index.php?article_id='.$article['article_id'].'&vote=4">4</a> <a href="index.php?article_id='.$article['article_id'].'&vote=5">6</a> </div> '; $votes = Voter::getArticleVoteQuantity($article['article_id']); { Voter::setVoteQuantity($_GET['article_id']); } } ?> </body> </html>