2013-12-12 66 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