php - 插入维护清单表格 PHP HTML MYSQL
问题描述
我需要创建一个表来注册对机器安全设备进行的维护。
我有一个我的数据库表,其中包含与他们自己的安全设备相关的所有机器的列表。
每个安全装置都可以是“OK”“NOT OK”“PARTYALLY OK”或“NA”
我已经创建了一个带有 HTML/PHP 的网页,其中维护人员选择了他正在进行维护的机器,它将出现他必须控制和注册设备状态的安全设备列表(好的,不行。 ..)。
<html>
<? include 'home.php' ?>
<body>
<div>
<form action="insert_controllo.php" method="POST">
<table>
<th>Macchina</th>
<th>Dispositivo</th>
<th>Descrizione</th>
<th>OK</th>
<th>NOK</th>
<th>PARZ</th>
<th>NA</th>
<th>Note</th>
<? while($row = mysql_fetch_array($risultato)){
echo "<tr><td> <input class='hide' type= 'text' name='macc' value ='".$row['macc']."' readonly>
</td><td> <input class='hide' type= 'text' name='iddispssic' value ='".$row['iddispsic']."' readonly>
</td><td> <input class='hide' type= 'text' name='descgen' value ='".$row['descgen']."' readonly>
</td><td> <input type= 'checkbox' name='chk1[]' value ='OK'>
</td><td> <input type= 'checkbox' name='chk1[]' value ='NOK'>
</td><td> <input type= 'checkbox' name='chk1[]' value ='PARZ'>
</td><td> <input type= 'checkbox' name='chk1[]' value ='NA'>
</td><td> <input type='text' name='note' placeholder = 'Note'>
</td></tr>";
}?>
</table>
<button class="bottone" name='submit' type='submit'>Concludi</button>
</form>
</div>
</body>
</html>
我的问题是在 POST VAR DUMP 中我只收到表的第一行
<!-- POST: Array
(
[macc] => 09
[iddispssic] => 2
[descgen] => Ripari Fissi
[chk1] => Array
(
[0] => NOK
)
[note] =>
[submit] =>
)
-->
而且我不知道如何在数据库中插入选中的复选框
有人能帮我吗?
我想在数据库中插入这样的东西
Machine-SafetyDevice-State(OK,NotOK,...)-description(每行有输入类型文字要加注)-DateTime
解决方案
您必须更改输入的名称以创建元素数组(您可以将“元素”名称更改为另一个)。
$count = 0;
while($row = mysql_fetch_array($risultato)){
echo '<tr><td> <input class="hide" type= "text" name="elements['.$count.'][macc]" value ="'.$row["macc"].'" readonly>
</td><td> <input class="hide" type= "text" name="elements['.$count.'][iddispssic]" value ="'.$row["iddispsic"].'" readonly>
</td><td> <input class="hide" type= "text" name="elements['.$count.'][descgen]" value ="'.$row["descgen"].'" readonly>
</td><td> <input type= "checkbox" name="elements['.$count.'][chk1][]" value ="OK">
</td><td> <input type= "checkbox" name="elements['.$count.'][chk1][]" value ="NOK">
</td><td> <input type= "checkbox" name="elements['.$count.'][chk1][]" value ="PARZ">
</td><td> <input type= "checkbox" name="elements['.$count.'][chk1][]" value ="NA">
</td><td> <input type="text" name="elements['.$count.'][note]" placeholder = "Note">
</td></tr>';
$count ++;
}
如果同时只允许一种状态,则必须更改复选框以放置单选按钮,如下所示:
$count = 0;
while($row = mysql_fetch_array($risultato)){
echo '<tr><td> <input class="hide" type= "text" name="element['.$count.'][macc]" value ="'.$row["macc"].'" readonly>
</td><td> <input class="hide" type= "text" name="element['.$count.'][iddispssic]" value ="'.$row["iddispsic"].'" readonly>
</td><td> <input class="hide" type= "text" name="element['.$count.'][descgen]" value ="'.$row["descgen"].'" readonly>
</td><td> <input type= "radio" name="element['.$count.'][chk1]" value ="OK">
</td><td> <input type= "radio" name="element['.$count.'][chk1]" value ="NOK">
</td><td> <input type= "radio" name="element['.$count.'][chk1]" value ="PARZ">
</td><td> <input type= "radio" name="element['.$count.'][chk1]" value ="NA" checked>
</td><td> <input type="text" name="element['.$count.'][note]" placeholder = "Note">
</td></tr>';
$count ++;
}
在“insert_controllo.php”中,您可以这样读取数据:
if(isset($_POST['elements'])){
for($i=0; $i<count($_POST['elements']); $i++){
// the query. For example 'UPDATE TABLENAME SET chk1 = "'.$_POST['elements']['chk1'].'" WHERE macc = "'.$_POST['elements']['macc'].'" ';
}
}
}
推荐阅读
- javascript - 为什么在没有 -1 的 JS 中我在控制台的第二个 for 循环中未定义
- reactjs - react中组件的单元测试
- html - 我怎样才能让我的弹性项目在它自己的线上
- python - 删除低于某个阈值的部分音频
- sql - 验证用户的标志作为参数
- jpa - 如何取消保留或强制删除 ProGuard 中 JPA 实体中的 @javax.persistence.Transient 注释方法?
- python - 使用 python 将 PDF 转换为 CSV 或 xlsx
- ruby-on-rails - 来自 Blogger 的 Rails 重写链接
- mysql - 通过nodejs插入时获取失败查询列表
- mongodb - MongoDB 从文件备份恢复