从函数获取结果并将其发布以选择标签

时间:2019-04-01 06:21:19

标签: php

我确实有一个 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。

3 个答案:

答案 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;
}

并且我的选择标签已填充。