我在我的销售点模块上添加了一个删除按钮。在我点击删除时在购买标签中,它不会从数据库中删除我的条目。每当我点击删除按钮时,我需要帮助从数据库中删除购买条目。< / p>
<?php
include_once("init.php");
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>POSNIC - Stock</title>
<!-- Stylesheets -->
<!---->
<link rel="stylesheet" href="css/style.css">
<!-- Optimize for mobile devices -->
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<!-- jQuery & JS files -->
<?php include_once("tpl/common_js.php"); ?>
<script src="js/script.js"></script>
<script LANGUAGE="JavaScript">
<!--
// Nannette Thacker http://www.shiningstar.net
function confirmSubmit() {
var agree = confirm("Are you sure you wish to Delete this Entry?");
if (agree)
return true;
else
return false;
}
function confirmDeleteSubmit() {
var flag = 0;
var field = document.forms.deletefiles;
for (i = 0; i < field.length; i++) {
if (field[i].checked == true) {
flag = flag + 1;
}
}
if (flag < 1) {
alert("You must check one and only one checkbox!");
return false;
} else {
var agree = confirm("Are you sure you wish to Delete Selected Record?");
if (agree)
document.deletefiles.submit();
else
return false;
}
}
function confirmLimitSubmit() {
if (document.getElementById('search_limit').value != "") {
document.limit_go.submit();
} else {
return false;
}
}
function checkAll() {
var field = document.forms.deletefiles;
for (i = 0; i < field.length; i++)
field[i].checked = true;
}
function uncheckAll() {
var field = document.forms.deletefiles;
for (i = 0; i < field.length; i++)
field[i].checked = false;
}
// -->
</script>
<script>
/*$.validator.setDefaults({
submitHandler: function() { alert("submitted!"); }
});*/
$(document).ready(function () {
// validate signup form on keyup and submit
$("#form1").validate({
rules: {
name: {
required: true,
minlength: 3,
maxlength: 200
},
address: {
minlength: 3,
maxlength: 500
},
contact1: {
minlength: 3,
maxlength: 20
},
contact2: {
minlength: 3,
maxlength: 20
}
},
messages: {
name: {
required: "Please enter a supplier Name",
minlength: "supplier must consist of at least 3 characters"
},
address: {
minlength: "supplier Address must be at least 3 characters long",
maxlength: "supplier Address must be at least 3 characters long"
}
}
});
});
</script>
</head>
<body>
<!-- TOP BAR -->
<?php include_once("tpl/top_bar.php"); ?>
<!-- end top-bar -->
<!-- HEADER -->
<div id="header-with-tabs">
<div class="page-full-width cf">
<ul id="tabs" class="fl">
<li><a href="dashboard.php" class="dashboard-tab">Dashboard</a></li>
<li><a href="view_sales.php" class="sales-tab">Sales</a></li>
<li><a href="view_customers.php" class=" customers-tab">Customers</a></li>
<li><a href="view_purchase.php" class="active-tab purchase-tab">Purchase</a></li>
<li><a href="view_supplier.php" class=" supplier-tab">Supplier</a></li>
<li><a href="view_product.php" class=" stock-tab">Stocks / Products</a></li>
<li><a href="view_payments.php" class="payment-tab">Payments / Outstandings</a></li>
<li><a href="view_report.php" class="report-tab">Reports</a></li>
</ul>
<!-- end tabs -->
<!-- Change this image to your own company's logo -->
<!-- The logo will automatically be resized to 30px height. -->
<a href="#" id="company-branding-small" class="fr"><img src="<?php if (isset($_SESSION['logo'])) {
echo "upload/" . $_SESSION['logo'];
} else {
echo "upload/posnic.png";
} ?>" alt="Point of Sale"/></a>
</div>
<!-- end full-width -->
</div>
<!-- end header -->
<!-- MAIN CONTENT -->
<div id="content">
<div class="page-full-width cf">
<div class="side-menu fl">
<h3>Stock Purchase</h3>
<ul>
<li><a href="add_purchase.php">Add Purchase</a></li>
<li><a href="view_purchase.php">View Purchase </a></li>
</ul>
</div>
<!-- end side-menu -->
<div class="side-content fr">
<div class="content-module">
<div class="content-module-heading cf">
<h3 class="fl">Purchase</h3>
<span class="fr expand-collapse-text">Click to collapse</span>
<span class="fr expand-collapse-text initial-expand">Click to expand</span>
</div>
<!-- end content-module-heading -->
<div class="content-module-main cf">
<table>
<form action="" method="post" name="search">
<input name="searchtxt" type="text" class="round my_text_box" placeholder="Search">
<input name="Search" type="submit" class="my_button round blue text-upper"
value="Search">
</form>
<form action="" method="get" name="limit_go">
Page per Record<input name="limit" type="text" class="round my_text_box" id="search_limit"
style="margin-left:5px;"
value="<?php if (isset($_GET['limit'])) echo $_GET['limit']; else echo "10"; ?>"
size="3" maxlength="3">
<input name="go" type="button" value="Go" class=" round blue my_button text-upper"
onclick="return confirmLimitSubmit()">
</form>
<form name="deletefiles" action="delete.php" method="post">
<input type="hidden" name="table" value="stock_entries">
<input type="hidden" name="return" value="view_purchase.php">
<input type="button" name="selectall" value="SelectAll"
class="my_button round blue text-upper" onClick="checkAll()"
style="margin-left:5px;"/>
<input type="button" name="unselectall" value="DeSelectAll"
class="my_button round blue text-upper" onClick="uncheckAll()"
style="margin-left:5px;"/>
<input name="dsubmit" type="button" value="Delete Selected"
class="my_button round blue text-upper" style="margin-left:5px;"
onclick="return confirmDeleteSubmit()"/>
<table>
<?php
$SQL = "SELECT DISTINCT(stock_id) FROM stock_entries where type='entry'";
if (isset($_POST['Search']) AND trim($_POST['searchtxt']) != "") {
$SQL = "SELECT DISTINCT(stock_id) FROM stock_entries WHERE stock_name LIKE '%" . $_POST['searchtxt'] . "%' OR stock_supplier_name LIKE '%" . $_POST['searchtxt'] . "%' OR stock_id LIKE '%" . $_POST['searchtxt'] . "%' OR date LIKE '%" . $_POST['searchtxt'] . "%' OR type LIKE '%" . $_POST['searchtxt'] . "%' AND type='entry'";
}
$tbl_name = "stock_entries"; //your table name
// How many adjacent pages should be shown on each side?
$adjacents = 3;
/*
First get total number of rows in data table.
If you have a WHERE clause in your query, make sure you mirror it here.
*/
$query = "SELECT COUNT(DISTINCT stock_id) as num FROM $tbl_name where type='entry'";
if (isset($_POST['Search']) AND trim($_POST['searchtxt']) != "") {
$query = "SELECT COUNT(DISTINCT stock_id) as num FROM stock_entries WHERE stock_name LIKE '%" . $_POST['searchtxt'] . "%' OR stock_supplier_name LIKE '%" . $_POST['searchtxt'] . "%' OR stock_id LIKE '%" . $_POST['searchtxt'] . "%' OR date LIKE '%" . $_POST['searchtxt'] . "%' OR type LIKE '%" . $_POST['searchtxt'] . "%' and type='entry'";
}
$total_pages = mysqli_fetch_array(mysqli_query($db->connection, $query));
$total_pages = $total_pages['num'];
/* Setup vars for query. */
$targetpage = "view_stock_entries.php"; //your file name (the name of this file)
$limit = 10; //how many items to show per page
if (isset($_GET['limit']))
$limit = $_GET['limit'];
$page = isset($_GET['page']) ? $_GET['page'] : 0;
if ($page)
$start = ($page - 1) * $limit; //first item to display on this page
else
$start = 0; //if no page var is given, set start to 0
/* Get data. */
$sql = "SELECT DISTINCT(stock_id) FROM stock_entries where type='entry' ORDER BY date desc LIMIT $start, $limit ";
if (isset($_POST['Search']) AND trim($_POST['searchtxt']) != "") {
$sql = "SELECT DISTINCT(stock_id) FROM stock_entries WHERE stock_name LIKE '%" . $_POST['searchtxt'] . "%' OR stock_supplier_name LIKE '%" . $_POST['searchtxt'] . "%' OR stock_id LIKE '%" . $_POST['searchtxt'] . "%' OR date LIKE '%" . $_POST['searchtxt'] . "%' OR type LIKE '%" . $_POST['searchtxt'] . "%' and type='entry' ORDER BY date desc LIMIT $start, $limit";
}
$result = mysqli_query($db->connection, $sql);
/* Setup page vars for display. */
if ($page == 0) $page = 1; //if no page var is given, default to 1.
$prev = $page - 1; //previous page is page - 1
$next = $page + 1; //next page is page + 1
$lastpage = ceil($total_pages / $limit); //lastpage is = total pages / items per page, rounded up.
$lpm1 = $lastpage - 1; //last page minus 1
/*
Now we apply our rules and draw the pagination object.
We're actually saving the code to a variable in case we want to draw it more than once.
*/
$pagination = "";
if ($lastpage > 1) {
$pagination .= "<div >";
//previous button
if ($page > 1)
$pagination .= "<a href=\"view_purchase.php?page=$prev&limit=$limit\" class=my_pagination >Previous</a>";
else
$pagination .= "<span class=my_pagination>Previous</span>";
//pages
if ($lastpage < 7 + ($adjacents * 2)) //not enough pages to bother breaking it up
{
for ($counter = 1; $counter <= $lastpage; $counter++) {
if ($counter == $page)
$pagination .= "<span class=my_pagination>$counter</span>";
else
$pagination .= "<a href=\"view_purchase.php?page=$counter&limit=$limit\" class=my_pagination>$counter</a>";
}
} elseif ($lastpage > 5 + ($adjacents * 2)) //enough pages to hide some
{
//close to beginning; only hide later pages
if ($page < 1 + ($adjacents * 2)) {
for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++) {
if ($counter == $page)
$pagination .= "<span class=my_pagination>$counter</span>";
else
$pagination .= "<a href=\"view_purchase.php?page=$counter&limit=$limit\" class=my_pagination>$counter</a>";
}
$pagination .= "...";
$pagination .= "<a href=\"view_purchase.php?page=$lpm1&limit=$limit\" class=my_pagination>$lpm1</a>";
$pagination .= "<a href=\"view_purchase.php?page=$lastpage&limit=$limit\" class=my_pagination>$lastpage</a>";
} //in middle; hide some front and some back
elseif ($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2)) {
$pagination .= "<a href=\"view_purchase.php?page=1&limit=$limit\" class=my_pagination>1</a>";
$pagination .= "<a href=\"view_purchase.php?page=2&limit=$limit\" class=my_pagination>2</a>";
$pagination .= "...";
for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++) {
if ($counter == $page)
$pagination .= "<span class=my_pagination>$counter</span>";
else
$pagination .= "<a href=\"view_purchase.php?page=$counter&limit=$limit\" class=my_pagination>$counter</a>";
}
$pagination .= "...";
$pagination .= "<a href=\"view_purchase.php?page=$lpm1&limit=$limit\" class=my_pagination>$lpm1</a>";
$pagination .= "<a href=\"view_purchase.php?page=$lastpage&limit=$limit\" class=my_pagination>$lastpage</a>";
} //close to end; only hide early pages
else {
$pagination .= "<a href=\"$view_purchase.php?page=1&limit=$limit\" class=my_pagination>1</a>";
$pagination .= "<a href=\"$view_purchase.php?page=2&limit=$limit\" class=my_pagination>2</a>";
$pagination .= "...";
for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++) {
if ($counter == $page)
$pagination .= "<span class=my_pagination >$counter</span>";
else
$pagination .= "<a href=\"$targetpage?page=$counter&limit=$limit\" class=my_pagination>$counter</a>";
}
}
}
//next button
if ($page < $counter - 1)
$pagination .= "<a href=\"view_purchase.php?page=$next&limit=$limit\" class=my_pagination>Next</a>";
else
$pagination .= "<span class= my_pagination >Next</span>";
$pagination .= "</div>\n";
}
?>
<tr>
<th>No</th>
<th>Stock Id</th>
<th>Stock Name</th>
<th>Date</th>
<th>Supplier</th>
<th>Amount</th>
<th>Edit /Delete</th>
<th>Select</th>
<td></td>
</tr>
<?php $i = 1;
$no = $page - 1;
$no = $no * $limit;
while ($row = mysqli_fetch_array($result)) {
$entryid = $row['stock_id'];
$line = $db->queryUniqueObject("SELECT * FROM stock_entries WHERE stock_id='$entryid' ");
$mysqldate = $line->date;
$phpdate = strtotime($mysqldate);
$phpdate = date("d/m/Y", $phpdate);
?>
<tr>
<td></td>
<td width="100"><?php echo $line->stock_id; ?></td>
<td width="100"><?php echo $line->stock_name; ?></td>
<td width="100"><?php echo $phpdate; ?></td>
<td width="100"><?php echo $line->stock_supplier_name; ?></td>
<td width="100"><?php echo $line->subtotal; ?></td>
<td>
<a href="update_purchase.php?sid=<?php echo $entryid; ?>&table=stock_entries&return=view_purchase.php"
class="table-actions-button ic-table-edit">
</a>
<a onclick="return confirmSubmit()"
href="delete.php?id=<?php echo isset($row['id']) ? $row['id'] : 0; ?>&table=stock_entries&return=view_purchase.php"
class="table-actions-button ic-table-delete"></a>
</td>
<td><input type="checkbox"
value="<?php echo isset($row['id']) ? $row['id'] : 0; ?>"
name="checklist[]" id="check_box"/></td>
<td></td>
</tr>
<?php $i++;
} ?>
<tr>
<td align="center">
<div style="margin-left:20px;"><?php echo $pagination; ?></div>
</td>
</tr>
</table>
</form>
</div>
</div>
</body>
</html>
delete.php
<?php
include_once "init.php";
// Use session variable on this page. This function must put on the top of page.
if (!isset($_SESSION['username']) || $_SESSION['usertype'] != 'admin') { // if session variable "username" does not exist.
header("location: index.php?msg=Please%20login%20to%20access%20admin%20area%20!"); // Re-direct to index.php
} else {
error_reporting(0);
if (isset($_GET['id']) && isset($_GET['table'])) {
$id = $_GET['id'];
$tablename = $_GET['table'];
$return = $_GET['return'];
if ($tablename == "stock_entries") {
$difference = $db->queryUniqueValue("SELECT quantity FROM stock_entries WHERE id=$id");
$name = $db->queryUniqueValue("SELECT stock_name FROM stock_entries WHERE id=$id");
$result = $db->query("SELECT * FROM stock_entries where id > $id");
while ($line2 = $db->fetchNextObject($result)) {
$osd = $line2->opening_stock - $difference;
$csd = $line2->closing_stock - $difference;
$cid = $line2->id;
$db->execute("UPDATE stock_entries SET opening_stock=" . $osd . ",closing_stock=" . $csd . " WHERE id=$cid");
}
$total = $db->queryUniqueValue("SELECT quantity FROM stock_avail WHERE name='$name'");
$total = $total - $difference;
$db->execute("UPDATE stock_avail SET quantity=$total WHERE name='$name'");
}
$id = $_GET['id'];
$db->execute("DELETE FROM $tablename WHERE id=$id");
header("location: $return?msg=Record Deleted Successfully!&id=$id");
}
if (isset($_POST['table']) && isset($_POST['checklist'])) {
$data = $_REQUEST['checklist'];
$tablename = $_POST['table'];
$return = $_REQUEST['return'];
for ($i = 0; $i < count($data); $i++) {
$db->execute("DELETE FROM $tablename WHERE id=$data[$i]");
}
header("location: $return?msg=Record Deleted Successfully!");
}
if (isset($_POST['return'])) {
header("location: $return");
}
}
?>
答案 0 :(得分:0)
感谢所有人的注意力。我已经按照以下方式完成了这项工作
if ($tablename == "stock_entries") {
$difference = $db->queryUniqueValue("SELECT quantity FROM stock_entries WHERE id=$id");
$sid = $db->queryUniqueValue("SELECT stock_id FROM stock_entries WHERE id=$id");
$id = $db->queryUniqueValue("SELECT id FROM stock_entries WHERE salesid='$sid'");
$name = $db->queryUniqueValue("SELECT stock_name FROM stock_entries WHERE id=$id");
$result = $db->query("SELECT * FROM stock_entries where id > $id");
while ($line2 = $db->fetchNextObject($result)) {
$osd = $line2->opening_stock - $difference;
$csd = $line2->closing_stock - $difference;
$cid = $line2->id;
$db->execute("UPDATE stock_entries SET opening_stock=" . $osd . ",closing_stock=" . $csd . " WHERE id=$cid");
}
//echo "purchase $name";
$total = $db->queryUniqueValue("SELECT quantity FROM stock_avail WHERE name='$name'");
$total = $total - $difference;
$db->execute("UPDATE stock_avail SET quantity=$total WHERE name='$name'");
$db->execute("DELETE FROM $tablename WHERE id=$id");
$db->execute("DELETE FROM $tablename WHERE id=$id");
}