繁体   English   中英

如何使用带有计数器的while循环来回显else语句?

[英]How do I use a while loop with counter for echoing else statement?

无论如何,我不是一个全职的PHP程序员,但是想知道最有效的方法是什么吗? 我正在运行访存以获取要在页面上显示的一些数据。 查询结果通常有多行。

下面的代码非常有效,除了最后的else语句没有显示任何内容。 这部分不起作用。 基本上,我想显示我的数据行,如果不存在,则抛出一条消息“无”。

我做了一些阅读,看起来像一个while循环+多个结果集,您不能只是简单地使用其他标准...两者都带有!empty或isset。

有人提到要柜台吗? 这是完成此任务的最佳方法吗? 欢迎提出任何建议,因为将来我可能会添加更多这样的数据,并希望以正确的方式进行操作。

谢谢!

while($myvariable = oci_fetch_assoc($stmt))
{
if(!empty($myvariable))
    {
    echo "<tr><th>DISPLAY FIELD NAME:</th><td>" . $myvariable['myrowdata'] . </td></tr>";

    }
    else 
    {
    echo "<tr><th>DISPLAY FIELD NAME:</th><td>None</td></tr>";
    }
}

查看php手册上的oci_fetch_assoc。 通常在循环中调用此函数,直到返回FALSE,表示不再存在任何行。 因此,您在while循环内不需要其他任何条件。

通过获取第一行并检查其是否为FALSE,在循环之前进行检查; 然后,如果不是,则将其送入循环并在循环结束处获取下一行。 这称为“启动循环”,并不少见。

if(!($myvariable = oci_fetch_assoc($stmt))) {
    echo "<tr><th>DISPLAY FIELD NAME:</th><td>None</td></tr>";
} else {
    while($myvariable) {
        echo "<tr><th>DISPLAY FIELD NAME:</th><td>" . $myvariable['myrowdata'] . </td></tr>";
        $myvariable = oci_fetch_assoc($stmt));
    }
}

我认为此参考资料将帮助您使用oci_fetch_assoc函数: http ://php.net/manual/zh/function.oci-fetch-assoc.php#100304

仅当您在“ $ myvariable”中得到某些内容时,您的while语句才会运行,因此if语句是多余的,而else则在这种情况下无关紧要。 如果您想按照自己的想法进行操作,则可以执行“ oci_fetch_all()”,然后循环执行,执行if / else。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM