我正在尝试从数据库填充下拉菜单,但是当我运行代码时,我没有收到任何错误,但输出显示了我的代码的一部分没有正确的结果。
index.html
页面上的代码是
<section id="services" class="emerald">
<div class="container">
<div class="row">
<div class="row">
<div class="col-md-4 col-sm-6">
<div class="media">
<div class="media-body">
<?php
$servername = "localhost";
$username = "username";
$password = "pwd";
$dbname = "db";
// Create connection
$con = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$con) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT treatment_type FROM treatment_type";
$result = $con->query($sql);
echo "<label for='treatment_type'>Treatment Type: </label>";
echo "<select name='treatment_type' id='treatment_type' class='form-control'>";
while($row = $result->fetch_assoc()) {
echo "<option value='" . $row['treatment_type'] . "'>" . $row['treatment_type'] . "</option>";
}
echo "</select>";
?>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
我与该框相处的输出为query($sql); echo "Treatment Type: "; echo "
,下拉菜单应显示的位置显示".$row['treatment_type']."
答案 0 :(得分:0)
然后,正如我在评论中提到的那样:&#34;但是输出显示了我的部分代码没有正确的结果&#34;是不是意味着,你看到你的代码?然后你需要将.html替换为.php或将你的配置设置为解析.html为php。
这适用于此问题后面的用户。
答案 1 :(得分:0)
首先,您应该将文件类型更改为.php
然后当kern说你应该查看MVC框架工作,现在我要做的是将连接移动到类中的函数
这个例子是使用ODBC连接,但是点相同只是将它改为mysqli或者查看使用PDO
public static function functionName($variableToPassToQuery) {
//Change this part so you are connecting to your database
$conn = odbc_connect('SomeDatabase', '', '');
if (!$conn) {
exit("Connection Failed: " . $conn);
}
// Change to the SQL you need
$sql = "SELECT * FROM Somewhere WHERE Something = $VariableToPassToQuery)";
$rs = odbc_exec($conn, $sql);
if (!$rs) {
exit("Error in SQL");
}
//then once the query has been run we need to get the results and put them in to an array
while ($data = odbc_fetch_array($rs)) {
$row[] = $data;
}
//And then return that array
return $row;
}
将所有内容放入课堂
现在在你应该改成PHP文件的Html文件中我们可以像这样做下拉框
所以在表格中你需要告诉它我们需要一个下拉框
<select name="dropdown">
<?php
//then for each of the results in the array we need to an an option
//call the function from the class like this Classname::Functionname($variable) of course if you
//don't need to pass a variable then dont
foreach (Classname::functionName($variableToPassToQuery) as $a) {
echo '<option value=' . $a["SecondRef"] . '>' . $a["Description"] . ' </option>';
}
?>
</select>