Я пытаюсь сделать систему баллов, где вы можете выбрать от 1 до 5
<form class='form-horizontal' action='../api/points.php' method='post'><fieldset>
<input type='radio' value='1' name='points' /> 1 </input>
<input type='radio' value='2' name='points' /> 2 </input>
<input type='radio' value='3' name='points' /> 3 </input>
<input type='radio' value='4' name='points' /> 4 </input>
<input type='radio' value='5' name='points' /> 5 </input>
<br />
<input name='Submit' type='submit' value='give points' />
<input name='userid' type='hidden' value='<? echo $row['user_id'] ?>' />
<input name='postid' type='hidden' value='<? echo $row['id'] ?>;' />
<input name='currentpoints' type='hidden' value='<? echo $row['postpoints']; ?>' />
<input name='user2id' type='hidden' value='<? echo $loggedInUser->user_id; ?>' />
</fieldset>
</form>
Есть два идентификатора: идентификатор пользователя, который дает очки, и идентификатор пользователя, который их получит.
Я должен сохранить их: (1) в таблице сообщений, в которой записывается общее количество баллов, которое было дано. (2) баллы должны быть вычтены из пользователя, который дает, и добавлен к пользователю, который их опубликовал.
Он дает постам баллы, но не добавляет и не вычитает из таблицы пользователей
$pointsvar = htmlentities($_POST['points']);
$userid = htmlentities($_POST['userid']);
$user2id = htmlentities($_POST['user2id']);
$postid = htmlentities($_POST['postid']);
$currentpoints = htmlentities($_POST['currentpoints']);
$suma1 = $currentpoints+$pointsvar;
$sql = "UPDATE ft_posts SET postpoints=(postpoints + $pointsvar) WHERE id='$postid'";
if ($conn->query($sql) === TRUE) {
echo "post points updated successfully";
echo "<br />";
echo "current post points+points variable: ";
echo ($suma1);
echo "<br />";
} else {
echo "Error updating record: " . $conn->error;
}
$sql2 = "UPDATE ft_users SET points='(points + $pointsvar)' WHERE id='$userid'";
if ($conn->query($sql2) === TRUE) {
echo "User given points updated successfully";
echo "<br />";
} else {
echo "Error updating record 2: " . $conn->error;
}
$sql3 = "UPDATE ft_users SET points='(points - $pointsvar)' WHERE id='$user2id'";
if ($conn->query($sql2) === TRUE) {
echo "User taken points updated successfully";
echo "<br />";
} else {
echo "Error updating record 3: " . $conn->error;
}$conn->close();
Удалить цитаты в points='(points + $pointsvar)'
и для SET points='(points - $pointsvar)'
Что касается этой строки:
if ($conn->query($sql2) === TRUE) {
Вы используете это в сочетании с $sql3
так что должно быть:
if ($conn->query($sql3) === TRUE) {
Других решений пока нет …