gpt4 book ai didi

php - 在 php 中使用 mysql 填充函数选项

转载 作者:行者123 更新时间:2023-11-29 02:42:29 25 4
gpt4 key购买 nike

我正在尝试使用不同的 php 文件在从数据库调用对象的表单上填写不同的选项。这是我的代码:

PHP 代码(functions.php):

<?php /* Gets values from sql and inserts into html options values */ 

function selectOptions($column, $table){
// fetch records
$sql = "SELECT" . $column. "FROM" . $table. "ORDER BY Id";
$result = $conn->query($sql);
//check there are more than 0 rows
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo '<option>' .$row['$column']. '</option>';
}
}
else {
echo '<option>No results!</option>'; } } ?>

HTML代码:

<?php 
require "php/dbconnect.php";
require "php/functions.php";
?>
<select class="form-control">
<option>SUBJECT</option>
<?php
selectOptions("Subjects", "general_subjects");
?>
</select>

我对不同的表单多次使用这个函数,所以我认为将它放在自己的文件中是最好的方法,但它不起作用。当我在 index.php 文件中使用不带变量的函数时,它似乎可以工作。我不知道我做错了什么

编辑:它应该做什么的图像 Image of index.php

最佳答案

在您的 sql 查询中添加空格。您还需要正确访问 $column 变量。你不应该用单引号括起来,因为它是一个变量。您还有一个变量范围问题,因为 $conn 不存在

function selectOptions($conn, $column, $table) {
// fetch records
$sql = "SELECT `" . $column . "` FROM `" . $table . "` ORDER BY Id"; #add spaces
$result = $conn->query($sql);
//check there are more than 0 rows
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo '<option>' . $row[$column] . '</option>'; #remove single quotes
}
} else {
echo '<option>No results!</option>';
}
}

调用上面的函数时,加上echo关键字

<?php
echo selectOptions($conn, "Subjects", "general_subjects"); #echo the function
?>

关于php - 在 php 中使用 mysql 填充函数选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48741746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com