首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环打印空白<选项></选项>

问循环打印空白<选项></选项>
EN

Stack Overflow用户
提问于 2014-07-21 23:09:37
回答 1查看 41关注 0票数 0

我有一个函数,它生成下拉<select> <option>的内容。

代码语言:javascript
复制
<select>
    <option></option>
    <option name="the-correct-display">The Correct Display</option>
    <option></option>
    <option name="the-correct-display">The Correct Display</option>
    <option></option>
</select>

知道我为什么要得到空白吗?以下是功能:

代码语言:javascript
复制
function catalogGetColors($mysqli)
{
    $query = 'SELECT sectionName FROM sections';
    if($result = $mysqli->query($query)){
        while($row = $result->fetch_array(MYSQLI_BOTH)){
            $optName = strstr(strtolower(str_replace(' ', '-', $row['pName'])), '-', true);
            printf('<option name="%s">%s<option>', $optName, $row['pName']);
        }
    } else {
        printf('Something went wrong.');
    }
}

这是一个可以在内部使用的原型构建,所以我不担心准备好的语句或PDO (目前为止)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-21 23:14:56

从手册中:

通过使用MYSQLI_ASSOC常量,此函数的行为将与mysqli_fetch_assoc()相同,而MYSQLI_NUM的行为将与mysqli_fetch_row()函数相同。最后一个选项MYSQLI_BOTH将创建一个具有两个属性的数组。

从本质上说,通过使用MYSQLI_BOTH,您的输出结果将以和的关联格式返回,并带有数值索引,从而导致结果重复,这可能就是您获得空值的原因。

您应该在这里使用MYSQLI_ASSOC:

代码语言:javascript
复制
while($row = $result->fetch_array(MYSQLI_ASSOC)){
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24876346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档