首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么它不能防止进一步的循环呢?

为什么它不能防止进一步的循环呢?
EN

Stack Overflow用户
提问于 2011-11-29 23:29:51
回答 2查看 48关注 0票数 0

我的代码似乎在6次和2次迭代后没有停止-为什么会这样?我不希望显示超过6个来自服务的值,以及2个来自文化的值。

代码语言:javascript
复制
ECHO "<fieldset>Services: ";
$servicearray = mysql_query("select serv_id from org_serv_xref where org_id='".$org_id."'");
while ($servicearrayrow = mysql_fetch_array($servicearray)) {
    $servdescarray = mysql_query("select serv_desc from service where serv_id='".$servicearrayrow['serv_id']."'");
    $i = 0;
    while ($servdescarrayrow = mysql_fetch_array($servdescarray)) {
        if ($i < 6) {
            ECHO $servdescarrayrow['serv_desc']." ";
            $i++;
        }
        else {
            break;
        }
    }
}
ECHO "</fieldset>";
ECHO "<fieldset>Cultures: ";
$culturearray = mysql_query("select cult_id from org_cult_xref where org_id='".$org_id."'");
while ($culturearrayrow = mysql_fetch_array($culturearray)) {
    $cultdescarray = mysql_query("select cult_desc from culture where cult_id='".$culturearrayrow['cult_id']."'");
    $i = 0;
    while ($cultdescarrayrow = mysql_fetch_array($cultdescarray)) {
        if ($i < 2) {
            ECHO $cultdescarrayrow['cult_desc']." ";
            $i++;
        }
        else {
            break;
        }
    }
}
ECHO "</fieldset>";
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-29 23:36:37

使用break 2而不是breakbreak 2退出2级循环。

看一看doc

您还可以在sql语句中使用LIMIT 6

票数 2
EN

Stack Overflow用户

发布于 2011-11-29 23:33:32

你在循环内外一遍又一遍地同一个变量,这把事情搞乱了:

代码语言:javascript
复制
while ($servicearrayrow = mysql_fetch_array($servicearray)) {
    $servdescarray = mysql_query("select serv_desc from service where serv_id='".$servicearrayrow['serv_id']."'");

    $i = 0;
    while ($servdescarrayrow = mysql_fetch_array($servdescarray)) { //<<WHA??
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8313396

复制
相关文章

相似问题

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