所以,在我的数据库中,我有一个表可以接收任意数量的类别,当教师创建一个课程时,他必须从其中一个中选择,所以我必须全部显示它们并将它们加载到使用foreach
进行“选择”。我遇到的问题是该值始终是最后一个,我无法发送到另一个PHP文件将其插入另一个表。使用代码更容易:
<form action="addCurso.php" method="post" name="addcurso" id="addcurso">
<h3 class="col-md-3">Curso:</h3>
<div class="col-md-9">
<input id="addCursoNome" class="form-control" type="text" name="curso" placeholder="Curso">
</div>
</div>
<div class="col-md-12">
<h3 class="col-md-3">Thumbnail:</h3>
<div class="col-md-9">
<input id="addCursoImg" class="form-control" type="file" name="pic">
</div>
</div>
<div class="col-md-12">
<h3 class="col-md-3">Categoria:</h3>
<div class="col-md-9">
<select class="form-control selectpicker">
Categoria
<?php
foreach ($categorias as $categoria) {
?>
<option class="col-md-12" value="<?php $categoria['ID']?>" ><?=$categoria['Nome']?></option>
<?php
}
?>
</select>
</div>
</div>
<div class="col-md-12">
<a href="addCurso.php?ID=<?=$categoria['ID'] ?>"><button id="addCurso" type="submit" class="btn btn-custom btn-lg btn-block">Criar</button></a>
</div>
</form>
我只有两个选择:
ID | Nome
--------------------
1 | Programação
--------------------
2 | Matemática
它始终发送ID:2无关紧要我选择了哪个选项,并且在addCurso.php中我总是收到:null
答案 0 :(得分:1)
您的提交按钮被包装到一个链接(a
)中,您在其中拥有foreach(addCurso.php?ID=<?=$categoria['ID'] ?>
)中设置的最后一个类别..您应该删除a
标记并让表单将数据发布到addCurso.php
这是表单操作。它应如下所示:<button id="addCurso" type="submit" class="btn btn-custom btn-lg btn-block">Criar</button>
没有a
标记..
答案 1 :(得分:0)
老实说,你创建的代码非常混乱,但我试着解释你的代码:
当您在foreach
中执行select
时,它会执行以下操作:
<option class="col-md-12" value="1">Programação</option>
<option class="col-md-12" value="2">Matemática</option>
并且,它将发送您的按钮/链接的最后一条记录,因为循环已完成:
<a href="addCurso.php?ID=2">
<button id="addCurso" type="submit" class="btn btn-custom btn-lg btn-block">Criar</button>
</a>
我不明白为什么您需要
<a>
(<button>
之前)提交?
您将始终收到NULL
,因为您没有为select
提供名称。