php - 复选框不针对每一行
问题描述
我有一个 1624 个项目的列表,您可以使用复选框选择,但在表单中,它只能检测 622 个第一个项目的“打开”。如果在下面检查行,则不会返回“on”。
我显示来自数据库的片段列表,您可以通过复选框选择片段,然后数据库被更新。它适用于列表顶部的所有项目,但从一行开始,如果选中该框,则不会在 php 表单中检测到。无论这件作品的顺序是什么,它只适用于 622 首件作品。我不明白问题出在哪里,因为我认为它不是来自变量。我想知道这是否是时间执行的问题,或者,如果默认情况下,它会停止从某一行查找。
我已经准备好验证算法是否检查每一行并且它确实以及所有变量是否都很好。
$cpt = 1;
$id_asm = (isset($_GET['id'])) ? $_GET['id'] : "";
$SQLQuery2="(select * FROM pieces";
$SQLResult2 = mysqli_query($MySqliConn, $SQLQuery2);
$_html_tbStock .= '<tr>';
// [...other information for the list...]
while ($row2 = mysqli_fetch_array($SQLResult2, MYSQLI_ASSOC)) {
$idpiece = $row2['ID_PIECE'];
$SQLQuery4 = "SELECT * from parametrage_envoi_stock where ID_ASM = '". $id_asm . "' AND ID_PIECE ='". $idpiece ."'";
$SQLResult4 = mysqli_query($MySqliConn, $SQLQuery4);
$row4 = mysqli_fetch_array($SQLResult4, MYSQLI_ASSOC);
$pointee = ($row4['COCHE'] != 0) ? 'checked="checked"' : ''
//if the piece was checked before, it is checked by default in the display, else it is not
$_html_tbStock .= '<td><input id="parametrage_' . $cpt . '" name="parametrage_' . $cpt . '" type="checkbox" ' . $pointee . '/></td>';
$_html_tbStock .= '</tr>';
$cpt++;
}
在我们得到的表格中:
$totalpiece = 1624
$cpt = 1;
while ($cpt <= $totalpiece) {
if (isset($_POST['parametrage_' . $cpt])) {
$ref = $_POST['ref_' . $cpt];
$rev = $_POST['rev_' . $cpt];
$nom = $_POST['nom_' . $cpt];
var_dump($ref);
var_dump($rev);
var_dump($nom);
$SQLQuery2 = "SELECT * FROM pieces WHERE REF_PIECE LIKE '%". $ref ."%' AND REV_PIECE LIKE '%". $rev ."%' AND NOM_PIECE LIKE '%". $nom ."%'";
$SQLResult2 = mysqli_query($MySqliConn, $SQLQuery2) or die('Erreur2<br />' . mysqli_error($MySqliConn));
$cnt = 1;
while ($row2 = mysqli_fetch_array($SQLResult2, MYSQLI_ASSOC)) {
$id_piece = $row2['ID_PIECE'];
$SQLQuery2 = "INSERT INTO parametrage_envoi_stock (ID_ASM, ID_PIECE,COCHE) VALUES ('$idasm','$id_piece','1')";
mysqli_query($MySqliConn, $SQLQuery2) or die('Erreur 1<br />' . mysqli_error($MySqliConn));
var_dump($SQLQuery2);
$cnt++;
}
}
}
显示包含所有项目和复选框的列表。我们可以点击所有我们想要的复选框。
解决方案
尝试检查并更改 php ini 设置:max_input_vars
您可以在此处查看更多信息:
https://www.php.net/manual/en/info.configuration.php#ini.max-input-vars
您也可以在 php.ini 和 .htaccess 文件中进行更改
推荐阅读
- selenium-webdriver - 如何在 Selenium Python 中使用拖放列表?
- mysql - 如何使用 VBScript 从服务器管理工作室中的特定数据库执行存储过程?
- android - 持续聆听奥利奥播放的音乐
- django - Django - 无论如何要从模板上的按钮调用视图函数?
- c# - 隐藏生命条直到敌人在附近 C#
- javascript - React Native/Expo 问题将应用 URL 发送到电话或电子邮件。错误:无法获取本地颁发者证书
- php - 从外部服务器生成网站内容?
- ios - 在 Swift 中使用单例和解析 JSON
- sql-server - SSMS 保持连接打开是否有更深层次的原因?
- c# - 连接 ControllerBase.User 和数据库用户