I am building php mysql based simple inventory management system. Also, I have no formal knowledge about the things or assigned names like arrays, functions, etc, but I can understand.
Here is the issue, I am facing right now where needs your guidance/assistance:
As far as my knowledge, my code has to work.
I like to update my products row but can't Affecting 0 rows using these queries:
if (isset( $_POST['prod_edit'] )) {
$prodId = $_POST['prodId'];
$pUpdate = $con->prepare("UPDATE products SET prodTeng = ? , prodTurd = ? , prodSKU = ? , prodBC = ? , prodPUPP = ? , prodPUSP = ? , prodCate = ? , prodQuan = ? WHERE prodId = ? ");
$pUpdate->bind_param("ssssssssi", $_POST['prodTeng'], $_POST['prodTurd'], $_POST['prodSKU'], $_POST['prodBC'], $_POST['prodPUPP'], $_POST['prodPUSP'], $_POST['prodCate'], $_POST['prodQuan'], $prodId);
$pUpdate->execute();
if ($pUpdate->affected_rows === 0) {
echo'<script> window.location.replace("home.php?p=inventory&alert=0"); </script>';
}
if ($pUpdate->affected_rows === 1) {
echo'<script> window.location.replace("home.php?p=inventory&alert=3"); </script>';
}
$pUpdate->close();
}
FORM:
<?php
$products_list = $con->query("SELECT * FROM products WHERE cid = '$cid' ");
while($row = $products_list->fetch_assoc()) {
$prodCate = $row['prodCate'];
$category_list = $con->query("SELECT * FROM categories WHERE cateId = '$prodCate' ");
while($cate = $category_list->fetch_assoc()) {
?>
<div class="modal fade modal-right" id="editProductRight<?=$row['prodId']; ?>" tabindex="-1" role="dialog" aria-labelledby="editProductRight<?=$row['prodId']; ?>" style="display: none;" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Edit Product Details</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<form action="home.php?p=inventory" method="post">
<div class="modal-body">
<div class="form-group mb-2">
<input type="text" class="form-control" name="prodTeng" placeholder="Name in English" required value="<?=$row['prodTeng']; ?>">
</div>
<div class="form-group mb-2">
<input type="text" class="form-control" name="prodTurd" placeholder="اردو میں نام" dir="rtl" value="<?=$row['prodTurd']; ?>">
</div>
<div class="form-group mb-2">
<input type="text" class="form-control" name="prodSKU" placeholder="SKU" required value="<?=$row['prodSKU']; ?>">
</div>
<div class="form-group mb-2">
<input type="text" class="form-control" name="prodBC" placeholder="Bar Code" value="<?=$row['prodBC']; ?>">
</div>
<div class="input-group mb-2 mr-sm-2">
<div class="input-group-prepend">
<div class="input-group-text">PKR</div>
</div>
<input type="number" class="form-control" name="prodPUPP" id="inlineFormInputGroupUsername2" placeholder="Per Unit Purchase Price" value="<?=$row['prodPUPP']; ?>">
</div>
<div class="input-group mb-2 mr-sm-2">
<div class="input-group-prepend">
<div class="input-group-text">PKR</div>
</div>
<input type="number" class="form-control" name="prodPUSP" id="inlineFormInputGroupUsername2" placeholder="Per Unit Sell Price" value="<?=$row['prodPUSP']; ?>">
</div>
<div class="form-group mb-2">
<input type="number" class="form-control" name="prodQuan" placeholder="On-Hand Quantity" value="<?=$row['prodQuan']; ?>">
</div>
<div class="form-group">
<select class="form-control" name="prodCate" required>
<option value="<?=$cate['cateId']; ?>"><?=$cate['cateTeng']; ?> | <?=$cate['cateTurd']; ?></option>
<?php
$stmt = $con->query("SELECT * FROM categories WHERE cid = '$cid' ");
while($row = $stmt->fetch_assoc()) {
?>
<option value="<?=$row['cateId']; ?>"><?=$row['cateTeng']; ?> | <?=$row['cateTurd']; ?></option>
<?php
}
$stmt->close();
?>
</select>
</div>
</div>
<hidden style="visibility:hidden;"><input type="text" value="<?=$row['prodId']?>" name="prodId" ></hidden>
<div class="modal-footer">
<button type="button" class="btn btn-outline-primary" data-dismiss="modal">Cancel</button>
<button type="submit" name="prod_edit" class="btn btn-primary">Submit</button>
</div>
</form>
</div>
</div>
</div>
<?php
}
$category_list->close();
}
$products_list->close();
?>
If there is any suggestion or other way to do that, then please guide!