首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在满足条件的情况下在函数中运行函数

如何在满足条件的情况下在函数中运行函数
EN

Stack Overflow用户
提问于 2015-10-28 15:27:27
回答 1查看 121关注 0票数 0

我一直在尝试创建一个函数来查询数据库,从表中选择,如果行计数不等于6,那么从表中选择一行,然后重复(或者可能重复),直到行计数等于6。我在StackOverflow中搜索了这个函数,但没有得到任何接近的结果。如果你有类似的链接,请把它贴在这里,我会试一试。

下面是我的代码:

代码语言:javascript
复制
//List All active adverts
function showActiveAdverts()
{

    $status = 1;
    //Build final queries.
    $query = mysql_query("SELECT * FROM table WHERE 
             status = '".mysql_real_escape_string($status)."' ORDER BY rand() LIMIT 6") or die(mysql_error());

    $count = mysql_num_rows($query);
    $row = mysql_fetch_assoc($query);

# My question here, check if the $count >= 1 && $count != 6, then do getDefaultBannner() and repeat it until it runs for 6 times.
    if($count >= 1){ 
        do{ 
            $list[] = $row['id']; 
        }while($row = mysql_fetch_assoc($query));
        return $list;
    }
    else{ return FALSE; }
    }

下面是getDefaultBannner()的代码

代码语言:javascript
复制
function getDefaultBannner()
{
    $status = 6;
    $query = mysql_query("SELECT id FROM table WHERE status = '".mysql_real_escape_string($status)."' ") 
            or die(mysql_error());

    $count = mysql_num_rows($query);
    $row = mysql_fetch_assoc($query);


    if($count >= 1){ 
        do{ 
            $list[] = $row['id']; 
        }while($row = mysql_fetch_assoc($query));
        return $list;
    }
    else{ return FALSE; }
}

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2015-10-28 16:15:24

你可以像这样重写你的代码

代码语言:javascript
复制
//List All active adverts

$query = mysql_query("SELECT * FROM table WHERE 
             status = '".mysql_real_escape_string($status)."' ORDER BY rand() LIMIT 6") or die(mysql_error());

$count = mysql_num_rows($query);

if($count >= 1 && $count != 6)
  $list = getDefaultBannner();
else
  $list = showActiveAdverts($query);

function showActiveAdverts($query)
{

    $status = 1;
    //Build final queries.

    $row = mysql_fetch_assoc($query);

    if($count >= 1){ 
        do{ 
            $list[] = $row['id']; 
        }while($row = mysql_fetch_assoc($query));
        return $list;
    }
    else{ return FALSE; }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33385198

复制
相关文章

相似问题

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