我需要一些关于我的申请的帮助。我开发此应用程序来管理小型库存。
广告资源中大约有1000个项目。这些物品会在一段时间内借给客户。
由于我不想在一个页面中显示1000个项目,因此我使用简单的php分页来显示每页50个项目。使用复选框,我的代码使用户能够检查特定项目并单击按钮来提交表单。此表单接收已检查项目的值,并将用户带到打印屏幕。在打印屏幕上,显示选中的项目。 简而言之,用户选择一些项目并提交表格。到目前为止没有问题发生。
现在的问题是,当用户选择不同页面上的项目时(例如,第1页上的项目编号5和第2页上的项目编号51),只有项目编号。 2提交到表格,并在打印屏幕上,只有项目号。显示2。
为了解决这个问题,我试图通过URL传递一个数组变量。
我试图通过链接(不是表单)传递数组变量,这样我就可以在提交表单之前将这个数组变量连接到checkbox变量。这样,如果表单将被提交,它将处理所有项目,它将显示打印屏幕上可能已在不同页面上检查过的所有项目。
我也试过使用AJAX分页,但它没有帮助。
这是我的代码,我想它很长,但我必须发布它,以解释我的问题。
非常感谢您的帮助。
提前致谢。我试图在网上找到解决方案。找不到相关的东西。
<div class="row">
<form action="confirm_checkout_items_multiple.php" method="POST">
<div class="col-lg-4 col-md-4 page-heading-adjust">
<?php
// this is for counting no. of pages
$queryCount = "SELECT * FROM inventory_table WHERE Checkedout!='1'";
<?php
$resultQueryCount = mysql_query($queryCount);
$rowCount = mysql_num_rows($resultQueryCount);
$pageCount = $rowCount/50;
$pageCount = ceil($pageCount);
$page = "";
$pagenum = "";
if(isset($_GET['page'])) {
$pagenum = preg_replace('#[^0-9]#', '', $_GET['page']);
$page = preg_replace('#[^0-9]#', '', $_GET['page']);
}
// This makes sure the page number isn't below 1, or more than our $last page
if ($pagenum < 1) {
$pagenum = 1;
} else if ($pagenum > $pageCount) {
$pagenum = $pageCount;
}
if($page=="" || $page=="1") {
$pageone = 0;
}
else {
$pageone = ($page*50)-50;
}
?>
$query="SELECT * FROM inventory_table WHERE Checkedout!='1' LIMIT $pageone, 50";
<?php
$result=mysql_query($query);
// Establish the $paginationCtrls variable
$paginationCtrls = '';
$previous = $pagenum - 1;
$CF = 5;
if(isset($page) && $page>1) {
$paginationCtrls .= '<ul class="pagination"><li><a href="'.$_SERVER['PHP_SELF'].?page='.$previous.'&CF='.$CF.'">«</a></li>';
} else {
$paginationCtrls .= '<ul class="pagination">';
}
// Render clickable number links that should appear on the right of the target page number
for($i = $pagenum+1; $i <= $pageCount; $i++){
//for($a=)
//$a = 51;
//$b = 100;
//for($a=51;)
//$c = '('.$a.'-'.$b.')';
$paginationCtrls .= '<li><a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'&CF='.$CF.'">'.$i.'</a> </li>';
if($i >= $pagenum+24){
break;
}
}
// This does the same as above, only checking if we are on the last page, and then generating the "Next"
if ($pagenum != $pageCount) {
$next = $pagenum + 1;
$paginationCtrls .= '<li><a href="'.$_SERVER['PHP_SELF'].'?page='.$next.'&CF='.$CF.'">»</a></li></ul> ';
}
?>
</div>
<div class="col-lg-3 col-md-3 text-center">
<button type="submit" name="checkout_temporary_multiple" class="btn btn-primary">Checkout selected Items</button>
</div>
<div class="col-lg-5 col-md-5 text-center page-heading-adjust">
<h3>Switch to: <a href="" class="btn btn-default disabled">Multiple Checkout</a> <a href="checkout_temporary_single.php" class="btn btn-default">Single Checkout</a></h3>
</div>
</div>
<div class="row">
<div class="col-lg-12 page-heading-adjust-2">
<?php echo $paginationCtrls; ?>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="table-responsive">
<table class="table table-bordered table-hover table-striped">
<thead>
<tr>
<th class="nrml-heading">S. No.</th>
<th class="nrml-heading">Code</th>
<th class="nrml-heading">Description</th>
<th class="nrml-heading">Colour</th>
<th class="nrml-heading">Size</th>
<th class="nrml-heading">Location</th>
<th class="nrml-heading">Catalogue</th>
<th class="nrml-heading text-center">Checkout</th>
</tr>
</thead>
<tbody>
<?php
while($row=mysql_fetch_array($result)) {
$id = $row['id'];
$Code = $row['Code'];
$Description = $row['Description'];
$Colour=$row['Colour'];
$Size = $row['Size'];
$Location=$row['Location'];
$Catalogue=$row['Catalogue'];
?>
<tr>
<td><?php echo $id; ?></td>
<td><?php echo $Code; ?></td>
<td><?php echo $Description; ?></td>
<td><?php echo $Colour; ?></td>
<td><?php echo $Size; ?></td>
<td><?php echo $Location; ?></td>
<td><?php echo $Catalogue; ?></td>
<td class="text-center"><input name="selector[]" type="checkbox" value="<?php echo $id; ?>"></td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
</div>
</div>
</form>
答案 0 :(得分:0)
为什么不使用会话变量? 在页面的最开头,类似这样的
<?php session_start();?>
<?php
$getstring = $_SESSION['checkedItems'];
?>
每次用户移动到新页面
$_SESSION['checkedItems'] = 'url get string here';
然后将字符串转储到url的末尾,作为表单提交的get变量。
function itemchecked(){
//use an if block to see if the item clicked was checked or unchecked
// then change the getstring variable accordingly
$.ajax({
type: "POST",
url: "sessionUpdate.php",
data: getstring,
success: function(){
// Do what you want to do when the session has been updated
}
});
};
在sessionUpdate php中,检索字符串并将其写入会话变量