Изменение данных в MySQL через php

154
25 сентября 2018, 20:40

Данный код предназначен для локальной работы, используется php5, просьба не давать советы по поводу защиты или того что mysql_query и т.д устарели. Имеется следующий код, который выводит таблицу с названием и количеством товара на складе.

	include "config.php" 
 
 
<table border="1"> 
 
	if(!isset($_GET['category_id'])){ 
		exit(); 
	} 
 
	$cid = strip_tags($_GET['category_id']); 
	$sql = "SELECT * FROM products_sklad WHERE category_id=$cid"; 
	$result = mysql_query($sql); 
	echo "<tr><th>Название</th><th>Количество</th> 
	"; 
	while($line = mysql_fetch_object($result)){ 
		echo "<tr><td>$line->name</td>  <td>$line->kolvo</td> <td><input type='text' placeholder='потрачено'</input></td> <td><input type='text' placeholder='количество'</input></td> <td><input type='submit' value='изменить'></input>"; 
	}

Планируется сделать вот что, для начала ввести количество товара которое на складе. После того как количество появилось в базе, требуется настроить поле потрачено, т.е, после использования товара пользователь вводит сколько он потратил и от общего количества товара отнимается количество которое потрачено. Собственно вопрос вот в чем: как изменять данные в MySQL через php? Например: на складе 2000г красной краски, потрачено 200г красной краски, пользователь вводит данное число и происходит операция 2000-200=1800, как сделать чтобы в таблице вместо 2000 стало значение 1800.

Разобрался я с обновлением, но тут возникла ошибочка. В таблице сейчас все значения в количестве по 0. Я ввожу новые значения, пишет что данные обновлены, но на самом деле все также по 0. Вот код:

	include "config.php" 
 
 
 
	if(isset($_GET["kolvo"])){ 
		$sql1 = "UPDATE products_sklad SET kolvo='kolvo' WHERE kolvo='kolvo"; 
 
		if($sql1){ 
			echo "Данные успешно добавлены в базу"; 
		} 
		else{ 
			echo "Возникла ошибка"; 
		} 
	} 
 
<table border="1"> 
	<form method="GET" action=""> 
		 
			if(!isset($_GET['category_id'])){ 
				exit(); 
			} 
 
			$cid = strip_tags($_GET['category_id']); 
			$sql = "SELECT * FROM products_sklad WHERE category_id=$cid"; 
			$result = mysql_query($sql); 
			echo "<tr><th>Название</th><th>Количество</th> 
			"; 
			while($line = mysql_fetch_object($result)){ 
				echo "<tr><td>$line->name</td>  <td>$line->kolvo</td> <td><input type='text' placeholder='потрачено' name='trata'></input></td> <td><input type='text' placeholder='количество' name='kolvo'></input></td> <td><input type='submit' value='изменить'></input>"; 
			} 
		 
	</form> 
</table>

Answer 1

Не достаточно просто написать

$sql1 = "UPDATE products_sklad SET kolvo='kolvo' WHERE kolvo='kolvo";

Да и сам запрос странный. Он подходит только, если кол-во уникально и не повторяется. И даже если так, его надо изменить

$sql1 = "UPDATE products_sklad SET kolvo={$_GET['kolvo']} WHERE kolvo={$_GET['kolvo']}";

Вы не произвели сам запрос в базу, т.е. например:

$res = mysql_query($sql1) or die('Ошибка');
echo "Обновлено!";
READ ALSO
Получить количество подписчиков Facebook (2018)

Получить количество подписчиков Facebook (2018)

До недавних изменений в политики Facebook, можно было создать WWW приложение и следующим образом получать количество подписчиков:

140
Как отформатировать дату в php?

Как отформатировать дату в php?

Имеется дата следующего вида 20 сентября 2017, нужно с помощью php привести ее в вид 2009

150
Знаки вопроса вместо пробелов

Знаки вопроса вместо пробелов

В базу данных с полей записываются данныеВесь тект записывается нормально но если ввести 2 пробела в базу пишется знак вопроса и выводятся...

169