首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取HTML表以包含空日期的行

问获取HTML表以包含空日期的行
EN

Stack Overflow用户
提问于 2014-05-10 01:49:40
回答 1查看 140关注 0票数 0

下面的代码与带有两列的HTML表相呼应:第一列有日期,第二列有预定日期的交易。它只显示即将到来的90天的日期。

有些日期没有交易,HTML表省略了这些日期。我怎么能把它们包括进去呢?我想“交易”栏只是空白的计划外日期。

代码语言:javascript
复制
   $sqlStr = "SELECT c.date, d.deal, d.datescheduled
                 FROM calendar_table c
                 JOIN deals d ON d.datescheduled = c.dt
                WHERE c.dt > NOW() 
             ORDER BY c.dt ASC
             LIMIT 90"; 

    $arr = array(); 
    echo "<table class=\"samplesrec\">";
    while ($row = mysql_fetch_array($result)) { 



        echo '<tr style="border-left:0px solid #C9C9C9; border-right:0px solid #C9C9C9; border-top:0px solid #C9C9C9;" class="class3a">';


            echo '<td class="sitename1"><a href="http://www.domain.com/login/deal.php?dealid='.urlencode($row["dealid"]).'">'.$row["date"].'</a>  </td>';

            echo '<td class="sitename1"><a href="http://www.domain.com/login/deal.php?dealid='.urlencode($row["dealid"]).'">'.$row["deal"].'</a>  </td>';



        }



    echo '</tr>';





echo "</table>";    
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-10 05:39:20

您需要更改查询以执行左连接,而不是内部连接:

代码语言:javascript
复制
$sqlStr = "SELECT c.date, d.deal, d.datescheduled
             FROM calendar_table c
             LEFT JOIN deals d ON d.datescheduled = c.dt
            WHERE c.dt > NOW() 
         ORDER BY c.dt ASC
         LIMIT 90";

这使得MySQL可以获取calendar_table中的所有行,而不管交易中是否存在匹配的行。

然后,检查数组中的空单元格,然后写一个空单元格:

代码语言:javascript
复制
if ($row["deal"]==null)
    echo '<td></td>';
else
    echo '<td class="sitename1"><a href="http://www.domain.com/login/deal.php?dealid='.urlencode($row["dealid"]).'">'.$row["deal"].'</a>  </td>';
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23576335

复制
相关文章

相似问题

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