如何在PHP中使用html复选框插入INTO

卡雷利亚

我需要的

是在网页的html表中显示Oracle查询的结果。我还为每一行中的复选框添加了另一列。我的代码如下。

<?php

(...some code with Oracle Query...)

echo "<form method='post'>";
echo "<table>";

while($row = oci_fetch_array($sql)) {
    echo "<tr>";
    echo "<td>" . $row['SKU'] . "</td>";
    echo "<td>" . $row['DESCRIPTION'] . "</td>";
    echo "<td>" . $row['LOCATION_MAX'] . "</td>";
    echo "<td>" . $row['QUANTITY'] . "</td>";
    echo "<td><input type='checkbox'></td>";
    echo "</tr>";
}

echo "</table>";
echo "</form>";

(...some more code...)

?>


单击每一行的复选框后,我需要对另一个数据库中的MySQL表使用INSERT INTO。
我在想如何获取每一行的所有信息并将其传递给另一个脚本,以便将数据插入MySQL表中时遇到麻烦。

我尝试过的工作

是,我将行的每个值存储在一个数组中,然后将其放入checkboxesvalue属性中,并使用该name属性对其进行引用,如下所示:

...
echo "<input type='submit' name='submit' value='submit'>";
while($row = oci_fetch_array($sql)) {

    $rowVal = array(
        "SKU" => $row['SKU'],
        "DESCRIPTION" => $row['DESCRIPTION'],
        "LOCATION_MAX" => $row['LOCATION_MAX'],
        "QUANTITY" => $row['QUANTITY']
    );

    echo "<tr>";
    echo "<td>" . $row['SKU'] . "</td>";
    echo "<td>" . $row['DESCRIPTION'] . "</td>";
    echo "<td>" . $row['LOCATION_MAX'] . "</td>";
    echo "<td>" . $row['QUANTITY'] . "</td>";
    echo "<td><input type='checkbox' name='checkbox' value='" . $rowVal . "'></td>";
    echo "</tr>";
}


因此,我试图$_POST['name']在脚本(或其他脚本)底部属性中引用此属性。见下文。

if (isset($_POST['submit'])) {
    foreach($_POST['checkbox'] as $checkVal) {
        /*(do stuff here, like print out all check rows first
        so I can understand what is going on, then eventually
        write the MySQL INSERT INTO query.)*/
}



我的问题是什么?

1)老实说,我首先很难解决这个问题。我真的以为将所有$row信息存储在数组中并将该数组变量分配给value属性将不会有问题。但是,一旦按下提交按钮,我将不知道如何调用所有复选框。

问题是,当我将数组放入value属性中时,我收到一条错误/通知,内容为Notice: Array to string conversion in [/script location.php] on line [where the checkbox code is]

2)假设我不在乎上面的通知。我仍然需要引用已检查的数据,以便可以将其插入到我拥有的MySQL数据库中。我什至不认为这很困难。引用所有检查的数据后,便可以使用foreach遍历该数组,并对查询中的每一行执行插入查询。

我如何做到这一点?提前致谢!如果我遗漏了任何帮助者所需的重要信息,请告诉我,我可以更新此问题。

我唯一的要求是,如果需要,提供的任何解决方案都应在PHP,HTML和CSS / Oracle / MySQL的范围内。我对Javascript或其中的任何一个库都不是很熟悉,并且因为它有点时效性,所以我没有时间学习其中可能包含的所有内容。因此,除非有一个超级简单的javascript答案,否则对我而言,弊大于利。

谢谢!

安东尼

托雷斯

快速又脏又没有测试,但是...

$rowNum = 0;
while($row = oci_fetch_array($sql)) {

    $rowVal = array(
       "SKU" => $row['SKU'],
       "DESCRIPTION" => $row['DESCRIPTION'],
       "LOCATION_MAX" => $row['LOCATION_MAX'],
        "QUANTITY" => $row['QUANTITY']
    )

    echo "<tr>";
    echo "<td>" . $row['SKU'] . "</td>";
    echo "<td>" . $row['DESCRIPTION'] . "</td>";
    echo "<td>" . $row['LOCATION_MAX'] . "</td>";
    echo "<td>" . $row['QUANTITY'] . "</td>";
    echo "<td>" .
           "<input type='hidden' name='opt[$rowNum]' value='". implode("::", $rowVal) ."'>".
           "<input type='checkbox' name='checkbox[$rowNum]' value='$rowNum'>".
         "</td>";
    echo "</tr>";

    $rowNum++;
}

您只需将数组值放在隐藏的输入中,然后放在后期处理代码上:

// Note that you need to check if all values are $_POSTEd, 
// this is a quick and dirty solution!
if (isset($_POST['submit'])) {
  $data = [];
  foreach($_POST['checkbox'] as $rowNum) {
    $data[] = explode("::", $_POST['opt'][$rowNum]);
  }
  var_dump($data);
}

// Output sample (selected row 2 and 4):
array (size=2)
  0 => 
    array (size=4)
      0 => string 'SKU2' (length=4)
      1 => string 'DESC2' (length=5)
      2 => string 'LOC2' (length=4)
      3 => string 'QUAN2' (length=5)
  1 => 
    array (size=4)
      0 => string 'SKU4' (length=4)
      1 => string 'DESC4' (length=5)
      2 => string 'LOC4' (length=4)
      3 => string 'QUAN4' (length=5)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在while循环php中使用复选框插入数据

如何在表格php中使用复选框

如何在React钩子中使用CheckAll复选框创建复选框?

如何在反应中使用多个复选框并收集选中的复选框

如何在Materialize表中使用复选框

如何在reactjs中使用antd多个复选框?

如何在复选框栏杆中使用枚举

如何在React中使用复选框形式?

如何在复选框中使用 css

如何在Python中使用Selenium选中复选框

如何在Android中使用单选复选框

如何在我的 WordPress 网站中使用复选框?

如何在 jetpack compose 中使用复选框控件?

如何在 Python 中使用 Selenium WebDriver 根据 html 选择复选框

如何在SQL查询中使用多个HTML复选框中的值?

如何在PHP发出的表格行中使用JavaScript检查所有复选框

我如何在PHP中使用href传递复选框值?

如何在PHP中使用foreach循环在多个复选框中设置所选属性?

如何在UPDATE查询php中使用多个复选框

如何在html / php中保留复选框值

单击复选框后,如何在Vue.js中使用v-on传递复选框ID?

如何在css中使用复选标记作为复选框

HTML PHP复选框

如何在HTML中使复选框的收藏夹按钮

如何使用php在数据库的单列中插入多个复选框值

如何使用PHP将复选框值插入表中?

如何使用PHP中的复选框从选择选项中插入选定的值?

Laravel:如何使用提交按钮插入复选框值?

如何在aspxgridview中使复选框可编辑?