将多个复选框插入数据库 Html Php
Posted
技术标签:
【中文标题】将多个复选框插入数据库 Html Php【英文标题】:Insert multiple checkboxes into Database Html Php 【发布时间】:2014-04-18 23:25:06 【问题描述】:所以我有一个表格,我将复选框值加载到其中。单击复选框后,我使用提交按钮将它们保存到数据库中。但是目前我一次只能保存一行?我需要能够将所有单击的复选框保存到数据库中
例如,我有 5 行。如果选中了第 2 行和第 3 行上的复选框,那么它们应该被保存到数据库中,但是现在只有最后一次点击(第 3 行)被保存到数据库中。 到目前为止,这是我的代码
php连接代码
<?php
// Get a db connection.
$db = JFactory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
$query->select($db->quoteName(array('CV_ID', 'Classifier', 'Value')));
$query->from($db->quoteName('classvalues'));
// Reset the query using our newly populated query object.
$db->setQuery($query);
// Load the results as a list of stdClass objects (see later for more options on retrieving data).
$results = $db->loadObjectList();
?>
使用复选框代码加载表格
<form name="names" id="names" action="<?php echo JURI::current(); ?>" method="post">
<table border="5",th,td, cellspacing="5", cellpadding="5", , align="left">
<tr>
<th>CV_ID</th>
<th>Classifier</th>
<th>Level</th>
</tr>
<?php foreach ($results as $row): ?>
<tr>
<td> <input type="checkbox" id="chk113" name="CV_ID" value="<?php echo $row->CV_ID ?> "/>
<label for="chk113"><?php echo $row->CV_ID ?> </label> </td>
<td> <input type="checkbox" id="chk111" name="Classifier" value="<?php echo $row->Classifier ?>"/>
<label for="chk111"><?php echo $row->Classifier ?></label> </td>
<td> <input type="checkbox" id="chk112" name="Value" value="<?php echo $row->Value ?>"/>
<label for="chk112"><?php echo $row->Value ?></label> </td>
</tr>
<?php endforeach ?>
</table>
<p><input id="submit" name="submit" type="submit" value="Submit Names" /></p>
</form>
保存 ?>
<?
if( (isset($_POST['CV_ID'])) || (isset($_POST['Classifier'])) || (isset($_POST['Value'])) )
//first name or last name set, continue-->
$CV_ID = $_POST['CV_ID'];
$Classifier= $_POST['Classifier'];
$Value= $_POST['Value'];
$db =& JFactory::getDBO();
$query = "INSERT INTO SessionTa (CV_ID, Classifier, Value) VALUES ('".$CV_ID."','".$Classifier."','".$Value."');";
$db->setQuery( $query );
$db->query();
else
?>
【问题讨论】:
【参考方案1】:表单中的每个复选框似乎都具有相同的名称。尝试将它们命名为数组,例如
<input type="checkbox" id="chk113" name="CV_ID[]" value="<?php echo $row->CV_ID ?> "/>
注意额外的“[]”。此时,您可以在保存的 php 文件中print_r($_POST)
来查看差异。因此,您的数据库更新逻辑可能需要调整
【讨论】:
作为“数组”出现在我的表中我只是想在我的数据库表中插入多行以上是关于将多个复选框插入数据库 Html Php的主要内容,如果未能解决你的问题,请参考以下文章