@dimavfox

Почему не увеличивается значение в базе данных?

<!DOCTYPE html>
<html>
<head>
	<title>GOLOS</title>
	<meta charset="utf-8">
	<style type="text/css">
		img{
			width: 200px;
		}
	</style>
</head>
<body>

	<form action="index.php" method="POST" name="radio">
		<input type="id" hidden name="id">

		<img src="bg4.jpg">
		<input type="radio" name="var" value="Первая картинка" checked>
		<?php echo $res; ?>
		<img src="bg5.jpg">
		<input type="radio" name="var" value="Вторая картинка">
		<?php echo $res2; ?>

		<input type="submit" name="sumbit">
	</form>


</body>
</html>


<?php
	$var = $_POST['var'];
	$db = mysqli_connect('localhost', 'admin', '7777', 'golos');
	$get = mysqli_query($db, "SELECT var1,var2 FROM golosa WHERE id=1");
	$row = mysqli_fetch_array($get);



	if (isset($_POST['send'])) {
		if($var == 'Первая картинка')
		{
			$row[0]++;
			print($row[0]);
			$upd = mysqli_query($db, "UPDATE golosa SET id=1, var1 = '$row[0]' ");
		}
		elseif($var == 'Вторая картинка')
		{
			$row[1]++;
			print($row[1]);
			$don = mysqli_query($db, "UPDATE golosa SET id=1, var1 = '$row[1]' ");
		}
	}
	
?>

Почему значение var1 и var2 увеличилось только один раз?
  • Вопрос задан
  • 74 просмотра
Решения вопроса 2
@MadridianFox
Web-программист, многостаночник
У вас запросы неправильные.
Должно быть
UPDATE golosa SET var1 = '$row[1]' where id = 1

А вообще лучше изменить логику работы всего скрипта.
Вы можете в форме знfчением радиокнопок делать не название картинки, а их id.
Тогда можно будет выполнить запрос вида:
UPDATE golosa SET var1 = var1 + 1 where id = ?
и с помощью prepared statements подставить id картинки в запрос.
Ответ написан
slo_nik
@slo_nik Куратор тега PHP
Добрый день.
Не обновляет потому, что это, мягко говоря - бред.
$upd = mysqli_query($db, "UPDATE golosa SET id=1, var1 = '$row[0]' ");

Вам надо указать какую именно запись Вы обновляете, в данном случае с id 1, так как Вы получили данные по этой записи.
$upd = mysqli_query($db, "UPDATE `golosa_vote` SET `var1` = '$row[0]' WHERE ` id`=1");

p.s. Код уязвим и оставляет желать лучшего
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы