PHP-如何从选中的复选框和相应的文本框中获取值

时间:2016-07-05 16:08:00

标签: php mysql database checkbox textbox

我想在提交表单时用逗号分隔三个值。复选框,文本框1和文本框2中的值。

这是我的代码,它从mysql数据库中检索值并生成复选框和两个相应的文本框。

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<?php

$query = "SELECT * FROM subject";
$data = mysqli_query($con, $query);

while ($row = mysqli_fetch_array($data)){
$s = $row['sub'];
echo $s;
?>

<input type="checkbox" name="req_sub[]" value= "<?php echo $s; ?>" />
<input type="text" name="<?php echo $s; ?>" placeholder="Total Number" />
<input type="text" name="<?php echo $s; ?>" placeholder="Pass Number" />     

<?php 
} 
?>
<input type="submit" name="submit" value="Add">
</form>

This is how my form looks --

假设用户检查前三个框,并输入如下图所示的值 - enter image description here

当我点击添加时,我得到了值 -
物理
数学
化学
使用以下代码:

<?php
if (isset($_POST['submit'])) {
    if (!empty($_POST['req_sub'])) {
        foreach ($_POST['req_sub'] as $selected) {
            echo $selected."</br>";
        }
    }
}
?>

但我如何得到像这样的值 -
物理,40,30
数学,40,30
化学,30,25

我希望将此输出放在变量中,以便将其存储在数据库表中 在过去的几天里,我花了几个小时的时间。请帮帮我。

1 个答案:

答案 0 :(得分:3)

  1. 您需要为<input type="text" ... />指定唯一的名称,以便在PHP中收到其值。

  2. 其次,您需要编写PHP代码,这些代码会连接这些值。

  3. 例如,您的HTML代码可能是:

    <input type="checkbox" name="req_sub[]" value= "<?php echo $s; ?>" />
    <input type="text" name="total[<?php echo $s; ?>]" placeholder="Total Number" />
    <input type="text" name="pass[<?php echo $s; ?>]" placeholder="Pass Number" />     
    

    您的PHP代码可能是:

    if (isset($_POST['submit'])) {
        if (!empty($_POST['req_sub'])) {
            foreach ($_POST['req_sub'] as $selected) {
                $total = $_POST['total'][$selected];
                $pass = $_POST['pass'][$selected];
                $var = $selected . ',' . $total . ',' . $pass;
                echo $var . '<br />';
            }
        }
    }