2016-03-08 71 views
1

我有两页index4.phpgenerate.php。用户必须选择一个日期范围,然后点击index4.php中的按钮以在generate.php中生成用户报告。基于日期选取器输入的PHP显示mysql结果

index4.php
index4.php

数据库表
database table

我想显示generate.php是这样的那些结果:
result table

这里是我的两个页面编码:
index4.php

<form action="generate.php" method="post" target="_blank"> 
    <table width="528" align="center" boder="0"> 
    <tr> 
     <td width="109">Select date :</td> 
     <td width="202">FROM&nbsp;&nbsp;<input type="date" name="start_date" required/></td> 
     <td width="24">TO</td> 
     <td width="173">&nbsp;<input type="date" name="end_date" required/></td> 
    </tr> 
    <tr> 
     <td colspan="4"><i><font color="#FF0000">*</font>&nbsp;Required field.</i></td> 
    </tr> 
    <tr> 
    <td colspan="4" align="center"><input type="submit" value="Generate User Report"/></td> 
    </tr> 
    </table> 
</form> 

generate.php

<table align="center" border="1"> 
<tr> 
    <td align="center">Date</td> 
    <td align="center">Page Name</td> 
    <td align="center">Page Viewed</td> 
</tr> 
<?php 
    if(mysql_num_rows($select_page_view) > 0) 
    { 
     $row = mysql_fetch_array($select_page_view); ?> 
     <tr> 
      <?php $num_rows = mysql_num_rows($select_page_view); ?> 
      <td rowspan="<?php echo $num_rows; ?>"><?php echo $row['page_view_date']; ?></td> 
     </tr> 
     <?php 
     while($row) 
     {?> 
      <tr> 
      <td><?php echo $row['page_name'];?></td><td><?php echo $row['visited_times']; ?></td> 
      </tr> 
    <?php } ?> 
<?php }?> 
</table> 

当我测试generate.php页面显示为page_name无限循环......任何解决方案来解决呢?

+1

您需要[停止使用mysql_函数](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php),因为它们在PHP7中被删除 – Machavity

回答

1

你必须改变这样的循环:

while($row = mysql_fetch_array($select_page_view)) 
{ 
    (...) 
} 

在原来的语法:

$row = mysql_fetch_array($select_page_view); 
(...) 
while($row) 
{ 
    (...) 
} 

$row是取一个,那么它不会改变,因此该循环没有按”不要停下来。

+0

谢谢!最后这是我的编码工作... –

相关问题