I am having an issue where I am not able to update the database. I think the error is in the update query itself, but I am new to SQL and PHP and therefore I am not 100% sure. Any help would be greatly appreciated.
I was getting an undefined index error which I fixed with but the issue still exists:
$id = $_GET["id"];
$listdate = isset($_POST['list_date']) ? $_POST['list_date'] : '';
$listprice = isset($_POST['list_price']) ? $_POST['list_price'] : '';
$solddate = isset($_POST['sold_date']) ? $_POST['sold_date'] : '';
$soldprice = isset($_POST['sold_price']) ? $_POST['sold_price'] : '';
$shipdate = isset($_POST['ship_date']) ? $_POST['ship_date'] : '';
$shipcost = isset($_POST['ship_cost']) ? $_POST['ship_cost'] : '';
After changing to the above code(which did not work) I am still having an issue updating the database. Here is the full current code:
<?
$id = $_GET["id"];
$listdate = $_POST["list_date"];
$listprice = $_POST["list_price"];
$solddate = $_POST["sold_date"];
$soldprice = $_POST["sold_price"];
$shipdate = $_POST["ship_date"];
$shipcost = $_POST["ship_cost"];
$servername = "localhost";
$username = "inventory";
$password = "*****";
$db = "products";
$conn = new mysqli($servername, $username, $password, $db);
if ($conn->connect_error){
die("Connection failed: ". $conn->connect_error);
}
$sql = "UPDATE inventory SET list_date = '$listdate', list_price = '$listprice', sold_date = '$solddate', sold_price = '$soldprice', ship_date = '$shipdate', ship_cost= '$shipcost' WHERE product_id = ' .$id. '";
if($conn->query($sql) === TRUE){
echo "Record Saved.";
} else {
echo "Error!";
}
$conn->close();
?>
Even when I change the ID manually to an assigned ID with the database, the updating still does not work and makes no changes in the database. I know the form does not look pretty, but I set it up for testing. Here is how I have the form set up to capture the changes:
<form action="/SulleySells/scripts/updateitem.php?id=<?php echo $id;?>" method="post">
<script type="text/javascript">
function ShowHideDiv(listed) {
var updatel = document.getElementById("updatel");
updatel.style.display = listed.checked ? "block" : "none";
}
function ShowHideDiv2(sold) {
var updates = document.getElementById("updates");
updates.style.display = sold.checked ? "block" : "none";
}
</script>
<label for="listed">
<input type="checkbox" id="listed" onclick="ShowHideDiv(this)" />
Listed?
</label>
<label for="sold">
<input type="checkbox" id="sold" onclick="ShowHideDiv2(this)" />
Sold?
</label>
<hr>
<div id="updatel" style="display: none">
<h3>Update Listing Details:</h3>
<label for="listdate">Listed Date:</label>
<input type="date" id="updateltext" name="listdate" value=""/>
<br>
<label for="listprice">Listed Price:</label>
<input type="text" id="updateltext" name="listprice" value=""/>
<br>
<button>Update</button>
<hr>
</div>
<div id="updates" style="display: none">
<h3>Update Sale Details:</h3>
<label for="solddate">Sold Date:</label>
<input type="date" id="updatestext" name="solddate" value=""/>
<br>
<label for="soldprice">Sold Price:</label>
<input type="text" id="updatestext" name="soldprice" value=""/>
<br>
<label for="shipdate">Ship Date:</label>
<input type="date" id="updatestext" name="shipdate" value=""/>
<br>
<label for="shipcost">Ship Cost:</label>
<input type="text" id="updatestext" name="shipcost"value=""/>
<br>
<button>Update Sold Info</button>
<hr>
</div>
</form>