-1

我有以下功能:

function getSystemNames($dbh, $myid) {
    $sql = $dbh->prepare('
    SELECT system_name 
    FROM product_systems
    WHERE user_id = :myid
    ORDER BY `system_name` ASC
    ');
    $sql->bindValue('myid', $myid);
    $sql->execute();
    return $sql;
}
;

然后,我将以下代码与我的 HTML 混合:

<select id='group' class='select' name='group'><option value='000'>None</option>
        <?php
        $results = getSystemNames($dbh, $myid);             
        while ($row1 = $results->fetch(PDO::FETCH_ASSOC)){              
          echo "<option value='$row1[system_name]'>$row1[system_name]</option>";
        }
        ?>
</select>

我正在尝试将两者合并,因此我的 HTML 中没有那么多代码,但在过去的一个小时里我一直无法弄清楚,我正在寻求社区的帮助。我试过无济于事:

function getSystemNames($dbh, $myid) {
    $sql = $dbh->prepare('
    SELECT system_name 
    FROM product_systems
    WHERE user_id = :myid
    ORDER BY `system_name` ASC
    ');
    $sql->bindValue('myid', $myid);
    $sql->execute();
    while ($row1 = $sql->fetch(PDO::FETCH_ASSOC)) {                 
        return "<option value='$row1[system_name]'>$row1[system_name]</option>";
    }
}
;
4

2 回答 2

1
function getSystemNames($dbh, $myid) {
    $sql = $dbh->prepare('
    SELECT system_name 
    FROM product_systems
    WHERE user_id = :myid
    ORDER BY `system_name` ASC
    ');
    $sql->bindValue('myid', $myid);
    $sql->execute();
    $result = $sql->fetchAll(); <----- fetch All the data
    return $result;
}

它会返回一个多维数组。然后foreach在您的 html 部分中使用 a 来获得所需的输出。

;PS你在这里之后就不需要}了。

于 2012-05-12T05:09:58.297 回答
0

您必须在 while 循环外创建一个临时变量,并在 while 循环内将其连接起来。然后返回临时变量。做echo getSystemNames(..)

于 2012-05-12T04:17:14.223 回答