通过pdo代码填充下拉菜单

use*_*980 1 php sql-server pdo dreamweaver

好吧所以我只是盯着使用pdo但我慢慢得到它的悬念我想知道如何制作一个下拉菜单或列表痘填充数据到页面上的字段我已经启动代码通过查找pdo指南等但我很难找到解决方案.也对不整洁的代码感到抱歉,但我又是整个编程场景的新手

谢谢你的建议到目前为止我的代码:这是连接字符串:

<?php
    session_start();

    if(!isset($_SESSION["user_id"])){
        header("location:../Pages/login.html");
    }


    //databse connection Sting
    $connection = new PDO("sqlsrv:server=servername;Database=databasename", "username",                     "password"); 

    //insertion function
    $smt = $connection->prepare('select exam_id From exam');



?>
Run Code Online (Sandbox Code Playgroud)

这也包括我的会话cookie,但是效果很好,这是我到目前为止的下拉框的人口.

 <select name="lst_exam" id="lst_exam">

       <?php

            $smt->execute();
            while ($row = $smt->fetch()){
                echo "<option>" . $row["exam_id"] . "</option>";
            }
            $connection = null;
        if(isset($_POST["lst_exam"]));  

        ?>
    </select>
Run Code Online (Sandbox Code Playgroud)

我试图填充的文本框是txt_exam_id,txt_location,txt_date_taken,txt_exam_taken,txt_grade_recieved

You*_*nse 10

答案很简单:不要通过pdo代码填充下拉菜单

这是完全不同的问题,不应该在代码中混淆.

将您的代码分为两部分:

  • PDO代码
  • 填充传统阵列代码中的任何菜单.

分别编写和调试这些部分.

$smt = $connection->prepare('select exam_id From exam');
$smt->execute();
$data = $smt->fetchAll();
Run Code Online (Sandbox Code Playgroud)

现在你的考试存储在$ data数组中.

<select name="lst_exam" id="lst_exam">
<?php foreach ($data as $row): ?>
    <option><?=$row["exam_id"]?></option>
<?php endforeach ?>
</select>
Run Code Online (Sandbox Code Playgroud)