我有以下表单,我必须将表单值插入数据库。但是当字段名称是 - name =“fieldname []”时,我不知道如何插入这些值。为了更好地理解,请检查以下内容。
我正在使用Codeigniter。我有视图,控制器和模型,我已经尝试了插入值的常用方法,但它不起作用。
我的一位朋友建议我使用像mysql_real_escape_string($ value)这样的东西,但我不知道如何使用它。请你帮帮我吗?
提前致谢:)
<table>
<form >
<tr>
<td> Student ID: <input type="text" name="studentid[]" value="" /> </td>
<td> Grade <input type="text" name="grade[]" value="" /></td>
<td>Obtained Mark <input type="text" name="obtainedmark[]" value="" /></td>
</tr>
<tr>
<td> Student ID: <input type="text" name="studentid[]" value="" /> </td>
<td> Grade <input type="text" name="grade[]" value="" /></td>
<td>Obtained Mark <input type="text" name="obtainedmark[]" value="" /></td>
</tr>
<tr>
<td> <input type="submit" value="Submit" name="Submit" /></td>
</tr>
</form>
</table>
foreach($_POST['studentid'] as $studentid) {
// do something
$data = array(
'subjectname' =>"",
'subjectname' => $studentid
);
$results=$this->db->insert('subject', $data);
答案 0 :(得分:1)
这些是数组,您可以通过以下代码访问它们(示例):
foreach($_POST['studentid'] as $studentid) {
// do something
}
进行编辑。这只是一个例子,idk是否有效。试试吧。
foreach($_POST as $key=>$data) {
foreach($data as $field) {
$arr[$key][] = $field;
}
}
答案 1 :(得分:1)
这种方法的工作方式是为每个具有该名称的字段获取一组值。你说有两个
<td> Student ID: <input type="text" name="studentid[]" value="" /> </td>
当你做
时 foreach($_POST['studentid'] as $studentid) {
$data = array(
'subjectid' =>"",
'subjectname' => $studentid
);
$results=$this->db->insert('subject', $data);
你输入了两个学生ID。您需要再次执行其他输入。可是等等?如何在没有学生姓名的情况下构建您的SQL查询?我可能会做类似
的事情$studentids = addslashes(htmlentities($_POST['studentid']));
$subjectnames = addslashes(htmlentities($_POST['subjectnames']));
$obtainedmarks = addslashes(htmlentities($_POST['obtainedmarks']));
for($i = 0; $i < count($studentids); $i++){
$data = array(
'subjectid' =>$studentids[$i],
'subjectname' => $subjectnames[$i],
'obtainedmarks' => $obtainedmarks[$i]
);
$results=$this->db->insert('subject', $data);
}
如果这有意义,请告诉我。
答案 2 :(得分:0)