我确实有一个 function.php 文件,代码是。
function getPositionRecord(){
$conn = mysqli_connect("localhost","root","","test");
$result = mysqli_query($conn, "Select * FROM position");
return mysqli_fetch_array(mysqli_query($conn,$result));
}
,我有一个 home.php 文件,其中有
<?php
$position = getPositionRecord();
foreach ($position as $key => $value) {
?>
<select>
<option value="<?=$value['PositionId']?>"><?=$value['PositionName']?>
</option>
</select>
我想发生的事情是从functions.php获取值之后,它将通过select标记通过home.php。我在home.php文件中包含functions.php。
答案 0 :(得分:1)
我不确定,但是您需要在此处更改一些代码。
function.php
function getPositionRecord(){
$conn = mysqli_connect("localhost","root","","test");
$result = mysqli_query($conn, "Select * FROM position");
return $result;
}
home.php
<select>
<?php $position = getPositionRecord();
while ($row=mysqli_fetch_row($position))
{
?>
<option value="<?php echo $row['PositionId']; ?>"><?php echo $row['PositionName']; ?></option>
<?php
}
?>
</select>
您可以遍历数据,同时从那里返回$ result对象。
答案 1 :(得分:1)
您的问题是,您仅在getPositionRecord
中获取一行结果,因此您的foreach
循环正在对一行数据进行操作,而$value
不会是一个数组,因为你期望的。目前,您的代码编写方式需要获取getPositionRecord
中的所有结果:
function getPositionRecord() {
$conn = mysqli_connect("localhost","root","","test");
$result = mysqli_query($conn, "Select * FROM position");
$rows = array();
while ($row = mysqli_fetch_array($result)) {
$rows[] = $row;
}
return $rows;
}
答案 2 :(得分:0)
已经有了答案。它在我的functions.php上尝试过这个
$conn = mysqli_connect("localhost","root","","test");
$result = mysqli_fetch_all(mysqli_query($conn, "Select * FROM position"), MYSQLI_ASSOC);
return $result;
}
并且我的选择标签已填充。