首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用1个mysql查询做2个php while循环?

问如何用1个mysql查询做2个php while循环?
EN

Stack Overflow用户
提问于 2012-09-05 09:58:07
回答 2查看 1.6K关注 0票数 1

有没有可能只使用php & mysql运行一次查询,然后执行两次while循环,结果不同。我

代码语言:javascript
复制
//this is the query
$qry_offers = mysql_query("SELECT * FROM offers ORDER BY offer_end ASC");

在第一个循环中,我希望显示任何"end_date“小于或等于今天的结果

代码语言:javascript
复制
<div id="current">
<?
while($row_offers = mysql_fetch_assoc($qry_offers)) {
    if ( (date("Y-m-d H:i:s")) <= ($row_offers['offer_end']) ) {
        echo '<li><a href="#">'.$row_offers['offer_name'].'</a></li>';
    }
}
?>
</div><!-- END OF CURRENT -->

在第二个循环中,我希望显示任何"end_date“大于今天的结果

代码语言:javascript
复制
//this is where i would have the 2n while loop
<div id="inactive">
<?
   while($row_offers = mysql_fetch_assoc($qry_offers)) {
    if ( (date("Y-m-d H:i:s")) > ($row_offers['offer_end']) ) {
        echo '<li><a href="#">'.$row_offers['offer_name'].'</a></li>';
    }
}
?>
</div><!-- END OF INACTIVE -->
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-05 10:13:58

解决方案是保存每个循环的结果,然后将它们放在最后。

代码语言:javascript
复制
$offers_current = array();
$offers_inactive = array();

while($row_offers = mysql_fetch_assoc($qry_offers)) {
    if ( (date("Y-m-d H:i:s")) <= ($row_offers['offer_end']) )
        $offers_current[] = '<li><a href="#">'.$row_offers['offer_name'].'</a></li>';
    if ( (date("Y-m-d H:i:s")) > ($row_offers['offer_end']) )
        $offers_inactive[] = '<li><a href="#">'.$row_offers['offer_name'].'</a></li>';
}

?>
<div id="current">
    <ul>
    <?php echo implode("\n", $offers_current) ?>
    </ul>
</div>
<div id="inactive">
    <ul>
    <?php echo implode("\n", $offers_inactive) ?>
    </ul>
</div>
票数 5
EN

Stack Overflow用户

发布于 2012-09-05 10:06:48

你可以这样做:

代码语言:javascript
复制
$itemsArray = mysql_fetch_assoc($qry_offers);
foreach ( $itemsArray as $row_offers ) {
    // ... Code in here for less than 'offer_end'
}
foreach ( $itemsArray as $row_offers ) {
    // ... Code in here for greater than 'offer_end'
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12273552

复制
相关文章

相似问题

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