Здравствуйте, я пишу систему голосования для удовольствия. Идея состоит в том, что вы голосуете в музыкальном плейлисте, поэтому самая популярная песня по голосу воспроизводится следующей. Имена треков, а также количество голосов хранятся в базе данных mysql. Я могу читать данные из моей базы данных и отображать названия треков в строке с кнопкой рядом с ней. Но я не могу понять, как заставить кнопку обновлять число голосов, которое имеет дорожка рядом с ней.
В моей базе данных есть таблица с именем voicecount с 3 столбцами, которая называется track_id track_name track_votes соответственно. Я не включил свою функцию обновления ниже, так как она вообще не работает, и я подозреваю, что моя вина лежит на другом месте.
Я думаю об использовании идентификатора дорожки, чтобы определить, какую дорожку он должен обновлять, +1 при каждом нажатии кнопки рядом с ней.
я включил подключение к базе данных в отдельном файле с именем connect.php
<?php
include 'connect.php';
$sql = <<<SQL
SELECT *
FROM `votecount`
SQL;
if(!$result = $conn->query($sql)){
die('There was an error running the query [' . $db->error . ']');
}
while($row = $result->fetch_assoc()){
echo $row['track_name'] . " TotalVotes ( " . $row['track_votes'] . " ) <form action='test.php' method'post'>
<input name='" . $row['track_name'] . "' type='submit' id='" . $row['track_id'] . "'value='vote'></input>
<br/></form>";
}
?>
Любая помощь будет принята с благодарностью заранее!
Есть несколько способов сделать это, самым простым будет ссылка на ваш скрипт, где вы передаете в трек id строку запроса:
echo "<a href='test.php?id=". $row['track_id'].">vote</a>";
Тогда внутри test.php
получить идентификатор $_GET['id']
затем запустите запрос, чтобы добавить голос.
или вы можете использовать Ajax для выполнения запроса к вашему скрипту и передачи идентификатора трека.
Других решений пока нет …