保存选项加载“foreach”并发送var php

时间:2018-06-09 19:52:12

标签: php html

所以,在我的数据库中,我有一个表可以接收任意数量的类别,当教师创建一个课程时,他必须从其中一个中选择,所以我必须全部显示它们并将它们加载到使用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

2 个答案:

答案 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提供名称。