选中的复选框将在分页中保留

2023-11-30

我正在做一个 php 脚本,其中我需要记住选中的复选框并将其保存到所有数据库中。不幸的是,我的代码仅保存我选中复选框的当前页面,但另一个复选框未选中。

示例 在第 1 页中,我检查了 3 个项目,在第二页上,我检查了项目。当我单击提交按钮时,我只获得了当前页面的选中项。当我返回到上一页时,我选中的项目变为未选中状态。如何通过分页保留并保存选中的复选框的值?

这是我的 CreateTest.php 代码

<html>
<body>
<?php
ob_start();
session_start();
include("connect.php");
error_reporting(0);
$item_per_page=10;
$results = mysqli_query($con,"SELECT COUNT(*) FROM tblitem");
$get_total_rows = mysqli_fetch_array($results); //total records

//break total records into pages
$pages = ceil($get_total_rows[0]/$item_per_page);   

//create pagination
if($pages > 1)
{
    $pagination = '';
    $pagination .= '<ul class="paginate">';
    for($i = 1; $i<=$pages; $i++)
    {
        $pagination .= '<li><a href="#" class="paginate_click" id="'.$i.'page">'.$i.'</a></li>';
    }
    $pagination .= '</ul>';
}

?><!DOCTYPE html>

<script type="text/javascript">
$(document).ready(function() {
    $("#results").load("fetch_pages.php", {'page':0}, function() {$("#1-page").addClass('active');});  //initial page number to load

    $(".paginate_click").click(function (e) {

        $("#results").prepend('<div class="loading-indication"><img src="ajax-loader.gif" /> Loading...</div>');

        var clicked_id = $(this).attr("id").split("-"); //ID of clicked element, split() to get page number.
        var page_num = parseInt(clicked_id[0]); //clicked_id[0] holds the page number we need 

        $('.paginate_click').removeClass('active'); //remove any active class

        //post page number and load returned data into result element
        //notice (page_num-1), subtract 1 to get actual starting point
        $("#results").load("fetch_pages.php", {'page':(page_num-1)}, function(){

        });

        $(this).addClass('active'); //add active class to currently clicked element (style purpose)

        return false; //prevent going to herf link
    }); 
});
</script>
<form name="myform" action="CreateTest.php" method="POST" onsubmit="return checkTheBox();" autocomplete="off">

<body>
<?php 
if(isset($_POST['save'])){
    $testPrice = $_POST['testPrice'];
    $testName = $_POST['testName'];
    $items = $_POST['items'];
    $quantity = $_POST['quantity'];
    $testDept = $_POST['testDept'];
    $measurement = $_POST['measurement'];
 global $con;
   Tool::SP_Tests_Insert(strip_tags(ucwords($testName)), $testPrice, $testDept);
    $result = mysqli_query($con, "SELECT MAX(TestID) FROM lis.tbltests");
    $data=  mysqli_fetch_array($result);
    $testID=$data[0];
    foreach ($items as $key => $value){
     $checkedItem[] = $value; 
    echo $value, " | ",$quantity[$key], " | ",$measurement[$key], "<br>";
     mysqli_query($con,"INSERT INTO tbltestitem (TestID, ItemID, ItemQuantity, ItemMeasurement) VALUES ($testID, $value, '$quantity[$key]', '$measurement[$key]')");
}
echo "<script type='text/javascript'>alert('Succesfully added test!')</script>";
    $site_url = "tests.php";
    echo "<script language=\"JavaScript\">{location.href=\"$site_url\"; self.focus();  }</script>";

}else if(!isset($_POST['save'])){
$selectDept='';
$result= mysqli_query($con,"select * from tbldepartment");
$selectDept.="<option value=''>Select Department:</option>";
while($data = mysqli_fetch_array($result)){
    $selectDept.="<option value='{$data['DeptID']}'>{$data['DeptName']}</option>";
}
?>
<td style="vertical-align: top;">
    <body>   
    <div id="container" align="center">
        <div id="title">Create Test</div>
        <div id="a">Input Test Name:</div><div id="b"><input type="text" name="testName" id="myTextBox" onkeyup="saveValue();" ></div>
        <div id="a">Input Test Price:</div><div id="b"><input type="number" name="testPrice"></div>
         <div id="a">Select Department:</div><div id="b"><select name="testDept" ><?php echo $selectDept; ?></select></div>

    <div id="results"></div><div id="a"><?php echo $pagination; ?></div>
<div align="right" style="padding: 10px;"><input type="submit" name="save" value="Submit"></div> </div>
<?php
}
?>   
</body>
</html>

这是我的 fetch_pages.php 代码。 这个php页面帮助我通过jquery分页来保留文本框值,它将被加载而无需进入另一个分页页面

<?php

include("connect.php"); 
require_once('classes/tool.php');
$item_per_page=10;
//sanitize post value
$page_number = $_POST["page"];

//validate page number is really numaric
if(!is_numeric($page_number)){die('Invalid page number!');}

//get current starting point of records
$position = ($page_number * $item_per_page);

//Limit our results within a specified range. 
$results = mysqli_query($con,"SELECT * FROM tblitem ORDER BY ItemID ASC LIMIT $position, $item_per_page");
$connection=mysqli_connect($dbhost,$dbuser,$dbpass,$dbname);
$selectMeasure='';
$measurements = Tool::SP_Measurement_Select();    
foreach($measurements as $measure) {      
    $selectMeasure.='<option value=' . $measure['MeaName'] . '>' . $measure['MeaName'] . '</option>';
$i=0;
while($item = mysqli_fetch_array($results))
{
    echo "<div id='a'><input type='checkbox' name='items[$i]' id='item[]' value='". $item['ItemID'] ."' >".$item['ItemName']."</div>";
    echo "<div id='b'><input type='number' name='quantity[$i]' class='quantity' /></div>";        
    echo "<div id='b'><select name='measurement[$i]' class='quantity'>'".$selectMeasure."'</select></div>";
$i++;
}
?>

希望你能帮我。提前致谢


呃……代码太多了,无法浏览。

然而,简短的答案是,您可以使用以下方法将值从一种形式传递到另一种形式:<input type-"hidden"...> markup.

警告,徒手输入代码

第1页.php

<form action="page2.php">
  <div>
    <input type="checkbox" name="test1">
  </div>
</form>

页面2.php

<?php
  if (is_set($_REQUEST["test1"])) {
    $test1 = $_REQUEST["test1"];
  } else {
    $test1 = false;
  }

<form action="page3.php">
  <div>
    <input type="hidden" name="test1" value="<?php echo $test1 ?>">
  </div>
</form>

Page3.php

<?php
    $test1 = $_REQUEST["test1"];
?>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

选中的复选框将在分页中保留 的相关文章

  • 按住鼠标时 JavaScript 重复动作

    是否有一个 JavaScript 函数每隔如此多的毫秒重复一次 以至于按住 html 按钮 如果这可以使用标准 JavaScript 来完成 那就太好了 但使用 jQuery 或 jQuery 插件也很棒 On the mousedown
  • YouTube - 右键单击​​时不显示上下文菜单

    想法 通过使用右键拖放到视频播放器上来查找 YouTube 视频 例如 每 2 屏幕宽度 1 秒 因此 在 1920x1080 的屏幕上 如果我按下鼠标右键 将其向左拖动 384 像素 20 然后松开 视频应该快退 10 秒 我有一个 Gr
  • PHP 和 MySql 检查表是否为空

    我有点菜鸟 而且我很难过 我需要一些代码来搜索数据库表以查找与 id 变量匹配的行 我需要抓取该表 描述 中的一个字段 如果它为空 我需要显示一条消息 如果不是另一条消息 这是我的代码 我知道我需要添加 mysqli 转义字符串 只需从内存
  • 单击元素外部时触发事件的指令

    我知道有很多问题都在问类似的事情 但没有人真正解决我的问题 我正在尝试构建一个指令 当鼠标单击当前元素外部时 该指令将执行表达式 为什么我需要这个功能 我正在构建一个应用程序 在这个应用程序中 有 3 个下拉菜单 5 个下拉列表 如选择的
  • 获取 Firebase AngularFire 中项目的索引 ID

    这里提出了类似的问题 但接受的答案并没有真正回答这个问题 使用 AngularFire 是否可以创建关系型数据库 或者访问 UniqueID https stackoverflow com questions 16879484 using
  • 为什么 array_merge_recursive 不是递归的?

    我最近在我的应用程序中发现了一个由意外行为引起的错误array merge recursive 让我们看一下这个简单的例子 array1 1 gt 1 gt 100 2 gt 200 2 gt 3 gt 1000 3 gt 1 gt 500
  • 如何按日期升序对对象进行排序?

    如果我有一个对象列表 var objectList LIST OF OBJECT each object列表中包含三个属性 name date gender 如何按 对列表中的对象进行排序date 属性升序 the date 属性包含字符串
  • Doctrine QueryBuilder 重用部件

    我想计算所有符合我的条件的字段 并使用学说查询生成器逐页获取它们 我生成的查询取决于我的过滤器字段 第一部分是计算记录 以便我可以计算页数 qb em gt createQueryBuilder qb gt select COUNT m i
  • PHP随机输出数组元素

    我如何从大约 20 个元素的数组中随机回显 5 个元素 Thanks 这有效吗 values array rand input 5 或者 作为更灵活的功能 function randomValues input num 5 return a
  • 如何编辑 Woocommerce 单一产品元模板中显示的内容?

    我正在为客户做一些工作并使用 wordpress woocommerce 他们要求我将类别移动到我已经完成的单个产品页面上的产品名称下 但他们不希望它打印 类别 类别 1 类别 2 等 他们希望删除 类别 并且它实际上只列出类别的名称 而不
  • SQL 未插入到 Yii 中具有关系的表中

    我正在尝试创建一个用户 但所有值都没有插入到数据库中 Systems user 表与partys 表有关系 因为party id 是sytems user 的主键 没有插入任何内容 甚至没有错误 它只是返回到 创建 页面 这是我的架构 Ta
  • Laravel Eloquent with()-> 返回 null

    我正在尝试使用 Eloquent 来获取具有以下功能的特定产品 brand id映射到a的列brands表 该brand数组返回空 这里有什么明显需要改变的地方吗 product Product with images gt with br
  • bootstrap-datetimepicker 仅显示日期

    我正在用这个repo https github com smalot bootstrap datetimepicker由 smalot 提供 我只想选择并显示日期 对于其他一些地方 我显示数据和时间 因此选择此存储库 我可以设法仅使用它来选
  • EaselJS Alpha 遮罩滤镜

    我对 Canvas 还很陌生 我一直在尝试将图像颠倒过来EaselJS Alpha 蒙版 http www createjs com demos easeljs alphamaskreveal示例 以便初始图像清晰 并且您可以paint是模
  • 性能方面插值(直接插入字符串)VS串联[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何使 CSS 动画/过渡以固定速度而不是固定持续时间播放? [复制]

    这个问题在这里已经有答案了 我有一个 CSS 动画 可以使元素沿直线移动未定义的距离 据我所知 动画具有固定的持续时间 因此无论元素必须移动多远 动画始终需要相同的时间来运行 我该如何制作才能使动画没有固定的duration 但有固定的运动
  • ExtJS:简单表单忽略 formBind

    我有一个小问题让我发疯了好几天 我有一个表单面板 Ext define EC view PasswordPanel extend Ext form Panel alias widget pwdpanel bodyPadding 15 ini
  • 使用 htaccess 文件重定向[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 Edit 我想重定向一个网址 to www example com location sydney from www example com rss
  • 显示对象内容 - JS/jQuery

    With this data events 返回 object Object 我需要看看里面到底发生了什么 我找到了这个 var Finder each this data events function i n Finder Name i
  • 获取css规则、chrome扩展

    我正在开发 Chrome 扩展程序 它需要访问document styleSheets cssRules 它在某些网站上运行良好 例如w3school 但其他人则不然 比如堆栈溢出 我收到错误 Failed to read the cssR

随机推荐

  • 如何启用电子身份验证的弹出窗口?

    我正在创建一个访问 url 的电子应用程序 当导航到该 URL 时 用户单击按钮并被重定向到在 Chrome 中显示此弹出窗口的 URL 如何在电子中启用 显示此弹出窗口 默认情况下似乎没有启用它 您在图片中看到的是 Chrome 打开一个
  • 内容的最大长度?

    我正在尝试使用连接服务器HttpURLConnection 但我的 PUT 方法有问题 我需要发送一个字符串1500 个字符 或更多 但在这种情况下 服务器会产生超时并返回500 服务器内部错误 如果我发送的字符串低于1400 个字符 我没
  • 在没有安装 Hadoop 的情况下在 Spark 上提交 .py 脚本

    我有以下简单的字数统计 Python 脚本 from pyspark import SparkConf SparkContext conf SparkConf setMaster local setAppName My App sc Spa
  • 硒中的单击相当于双击

    我有一个简单的代码 点击链接就会打开一个新窗口 但是在执行脚本时 单击与双击同一元素一样 会打开 2 个窗口 我正在使用 InternetExplorer 驱动程序 String baseURL URL to opened DesiredC
  • 检测用户是否对 Android 中的应用进行评分

    最近我读到一篇关于市场上的游戏的文章 我不会透露名称 因为我认为这种做法对 Android 来说是负面的 不想公开它 如果你没有评级就不允许更新市场5星 这就是文章所说的 我想知道这是否可以检测到 如果是 如何做到这一点 我只需要知道用户是
  • famo.us 中的表面渲染事件

    我正在寻找一个事件来告诉我何时渲染表面 以便我可以调用诸如 surface focus 之类的方法 如果我在创建表面后立即调用焦点 它将不起作用 如果我在任意时间后在计时器中调用它 我希望它能够被渲染 它就会起作用 所以一定有一个我可以使用
  • 反射诸如“double”之类的基本类型会导致意外的输出

    以下示例失败并显示 FAIL MyClass tests getClassReturnsConstructorForDouble Expected
  • 通过Windows批处理文件读取csv文件并创建txt文件

    我有一个 Excel 文件 每行有 5 个值 现在 我想通过批处理文件读取 csv 文件并使用文件中的内容创建文本文件 例如 如果我的 csv 文件 在一列中 中有 Apple Mango 则批处理文件应读取此 csv 文件 并应创建一个文
  • Android 模拟器无法访问互联网,共享互联网连接

    我已经安装了 Eclipse Juno 并将 ADT 也更新到 22 0 我创建了一个 Android 2 3 版本的自定义 AVD 工作正常 但我的模拟器上似乎没有互联网连接 注意 标题栏上还会显示 3G 符号 看看下面给出的我的模拟器的
  • 检测 Python 海龟游戏中的碰撞

    我正在尝试制作一个红海龟追逐蓝海龟的Python游戏 当红海龟抓住蓝海龟时 我希望它在屏幕上显示 碰撞 但它不起作用 当它碰撞时 什么也没有发生 它给我一个错误 Turtle 对象不可调用 from turtle import Turtle
  • 如何使用android.drm框架

    我正在开发一个基于 DRM 的 Android 应用程序 应用程序旨在在下载并获得对文件 音频 视频 的控制访问权限后对 音频 视频 文件进行加密 防止文件 音频 视频 复制和粘贴并使文档过期 从而无法再查看它们 为此我使用 android
  • ASP.NET 计时器事件

    protected void SubmitButtonClicked object sender EventArgs e System Timers Timer timer new System Timers Timer line 1 ge
  • JUnit 如何查找测试?

    我假设 JUnit 找到了测试 在派生自的类中 junit framework TestCase 通过寻找带有注释的方法 Test 但是 我已经包含了一个测试http 256stuff com sources jenkins hash ja
  • 如何根据列名称对数据框进行子集化?

    我有这个数据框 dput df structure list Server structure c 1L 1L 1L 1L 1L 1L Label servera class factor Date structure 1 6 Label
  • 创建位图图像 WPF

    我有一个包含需要在屏幕上显示的图像数据的 ushort 目前我正在创建一个 Windows System Drawing Bitmap 并将其转换为 BitmapImage 但这感觉像是一种缓慢而无效的方法 有人知道创建 ushort 的
  • facet_wrap 每个面板的轴相等

    我想用facet wrap每个面板的轴可能不同 但在一个面板内x and y轴应该具有相同的比例 例如看下面的图 df lt read table text x y g 1 5 a 2 6 a 3 7 a 4 8 a 5 9 b 6 10
  • Access - 比较两个表并更新或插入第一个表中的数据

    在我的 Access 数据库中 我有两个表 Table1 PersNum Name Surname 2321 Lenora Springer 2320 Donya Gugino 3326 Leland Wittmer 4588 Elmer
  • 如何使用QML/QtLocation模块在地图上显示大量离线数据?

    我正在使用 QML 及其新的 QtLocation 模块 gt Qt5 4 创建离线 Slippy Map 我很容易地用离线缓存来显示图块 现在我想向此地图添加自定义数据 约 7000 个机场的列表 这个巨大的列表必须根据缩放级别进行聚类
  • 当控制器实例化 Web API DI 中接口的正确实现时,“魔法”发生在哪里?

    在我看来 当涉及到 Web API 控制器中的 DI 时 就像是从帽子里变出兔子一样 我明白了 0 Web API项目中的Controller可以通过各种需要实例化的类来调用 所有的类都实现了Controller所依赖的接口 例如 使用以下
  • 选中的复选框将在分页中保留

    我正在做一个 php 脚本 其中我需要记住选中的复选框并将其保存到所有数据库中 不幸的是 我的代码仅保存我选中复选框的当前页面 但另一个复选框未选中 示例 在第 1 页中 我检查了 3 个项目 在第二页上 我检查了项目 当我单击提交按钮时