2013-12-12 65 views
1

在程序中,我想创建表来打印出(Y/M/D)格式的日期,批量,等待和发送的日期。但是,执行后没有任何显示。它可以在sql中使用phpmyadmin执行。但是,我不知道我们是否可以使用2个sql语句来找出2种不同的情况。我需要你的帮助。由于在sql中使用select语句执行php打印表

$start = date('2013-12-12'); 
$today = date("Y/m/d"); 
echo "Today's date: " .$today; 
$result = mysql_query("SELECT count(semail) AS av FROM table WHERE `thedate`>='2013-12-12' GROUP BY `thedate` ")or die(mysql_error()); 
$row = mysql_fetch_assoc($result) or die("No rows returned by query"); 
$totalofemail = $row['av']; 
$sent = mysql_query("SELECT count(semail) AS av FROM table WHERE `sflag`='1' AND `thedate`>='2013-12-12' GROUP BY `thedate`")or die(mysql_error()); 
$result = mysql_fetch_assoc($sent) or die("No rows returned by query"); 
$sentemail = $result['av']; 
$pending = $totalofemail - $sentemail; 

echo "<table border='1'> 
     <tr> 
     <th>Date</th> 
     <th>Daily volume</th> 
     <th>Sent</th> 
     <th>Pending</th> 
     </tr>"; 

if($i=0; $i<($today-$start); $i++) 
{ 
    echo "<tr>\n"; 
    echo "<td>" . $row['thedate'] . "</td>\n"; 
    echo "<td>" . $totalofemail . "</td>\n"; 
    echo "<td>" . $sentemail . "</td>\n"; 
    echo "<td>" . $pending . "</td>\n"; 
    echo "\n</tr>\n"; 
    echo "</table>\n"; 
} 

回答

3

原因的错误是if($i=0; $i< ($today-$start); $i++)

但在你的代码,也没有必要使用for循环

尝试使用的,

for($i=0; $i< ($today-$start); $i++) 

,而不是

if($i=0; $i< ($today-$start); $i++) 

代码:删除循环条件。因为循环没有必要。

$start = date('2013-12-12'); 
$today = date("Y/m/d"); 
echo "Today's date: " .$today; 
$result = mysql_query("SELECT count(semail) AS av FROM mycard WHERE `thedate`>='2013-12-12' GROUP BY `thedate` ")or die(mysql_error()); 
$row = mysql_fetch_assoc($result) or die("No rows returned by query"); 
$totalofemail = $row['av']; 


$sent = mysql_query("SELECT count(semail) AS av FROM mycard WHERE `sflag`='1' AND `thedate`>='2013-12-12' GROUP BY `thedate`")or die(mysql_error()); 
$result = mysql_fetch_assoc($sent) or die("No rows returned by query"); 
$sentemail = $result['av']; 


$pending = $totalofemail - $sentemail; 

echo "<table border='1'> 
     <tr> 
     <th>Date</th> 
     <th>Daily volume</th> 
     <th>Sent</th> 
     <th>Pending</th> 
     </tr>"; 

     echo "<tr>\n"; 
     echo "<td>" . $row['thedate'] . "</td>\n"; 
     echo "<td>" . $totalofemail . "</td>\n"; 
     echo "<td>" . $sentemail . "</td>\n"; 
     echo "<td>" . $pending . "</td>\n"; 
     echo "\n</tr>\n"; 


    echo "</table>\n"; 
+0

对不起,是'for'loop not'if'。然而,执行该表后不会显示'没有查询返回行'的语句 – user3056561

+0

'FROM yourtablename'您的表名称是什么?替换'yourtablename' –

+0

yourtablename = mycard – user3056561

1

你想干什么?一个新的视角?

if($i=0; $i<($today-$start); $i++) 

是不是应该是for

for($i=0; $i<($today-$start); $i++) 

另一个“无聊”的部分是关于使用mysql_ *函数。众所周知,它们已被弃用。改为使用mysqli_*PDO

+0

对不起,这是'for'loop not'if'。然而,在执行该表之后将不会显示“显示没有由查询返回的行”语句 – user3056561