我在这里有一个表格,其中包含复选框和textarea字段。
现在从数据库中获取复选框的数量。我想如何在我将检查的复选框的数据库中插入值以及相应的textarea字段值。
但是当我点击提交按钮时,没有插入正确的数据。有人可以帮忙吗?
<?php
$sql_course="select * from lk_tb_course ";
$query_course=mysql_query($sql_course);
while($row_course=mysql_fetch_array($query_course))
{
?>
<input type="checkbox" value="<?php echo $row_course['course_id']; ?>" name="courses_id[]" class="" ><?php echo " ".$row_course["course_name"]; ?>
<textarea name="admission_criteria[]"></textarea>
<?php } ?>
<input type="submit" value="save" name="save"/>
</form>
这是我的PHP代码:
<?php
if(isset($_POST["save"]))
{
for($i=0;$i<count($_POST["courses_id"]); $i++)
{
$courses_id=$_POST["courses_id"][$i];
$admission_criteria=$_POST["admission_criteria"][$i];
mysql_query("insert into tb_college_course set course_id='$courses_id',admission_criteria='$admission_criteria'");
}
}
?>
答案 0 :(得分:0)
不再使用mysql_ *。不推荐使用。如果您刚开始新的开发,则不应使用过时的数据库解决方案。
如果您在从html表单切换到评估程序时遇到问题,那么就让整个数据库消失。人们认为这取决于数据库,而不是解析后移交并将注意力集中在数据库部分上。
问题:
这是基于一种谬论。
我们假设在html表单中有6个复选框,6个textareas
和数据表也有6条记录ID是2,10,150,200,201,202
复选框[0]未选中
复选框[1]未选中
复选框[2]未选中
...
复选框[3]已检查
复选框[4]已检查
复选框[5]已选中
通过邮寄我们得到3个复选框和6个Textareas !!!
从[3]到[5]的复选框 Textarea从[0]到[5]
计数复选框count($_POST["courses_id"]
为3
for($i=0;$i<count($_POST["courses_id"]); $i++)
我们得到
$ i =来自
的0到2个值复选框[0]未设置
复选框[1]不是设置
checkbox [2] not isset
要相互联系现在关联的值,请执行以下操作(从0到2)。
ID =复选框[$ i] ==复选框[0](必须是复选框[3])
text = textarea [$ i] == textarea [0](textarea [3])
复选框[0] 无效它通常不可用错误
textarea [0]已设置但为空=“”
最好是设置当前ID 因此,您始终拥有数据表中的实际值。
<input type="checkbox" name="courses_id[$row_course['course_id']]"
<textarea name="admission_criteria[$row_course['course_id']]"
否则,分配不再适用于您的表格
<?php
$CourseID = $row_course['course_id'];
echo "<input type=\"checkbox\" value=\"".$CourseID."\"";
echo " name=\"courses_id[".$CourseID."]\" class=\"\" >";
echo " ".$row_course["course_name"]."<br />\n";
echo " <textarea name=\"admission_criteria[".$CourseID."]\"></textarea><br />\n";
?>
使用foreach
$coursesArr=$_POST["courses_id"];
foreach ($coursesArr as $key => $IDvalue) {
echo $key."<br />\n";
$admission_criteria=$_POST["admission_criteria"][$key];
echo $admission_criteria."<br />\n";
}