我想在提交表单时用逗号分隔三个值。复选框,文本框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>
当我点击添加时,我得到了值 -
物理
数学
化学
使用以下代码:
<?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
我希望将此输出放在变量中,以便将其存储在数据库表中 在过去的几天里,我花了几个小时的时间。请帮帮我。
答案 0 :(得分:3)
您需要为<input type="text" ... />
指定唯一的名称,以便在PHP
中收到其值。
其次,您需要编写PHP
代码,这些代码会连接这些值。
例如,您的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 />';
}
}
}