2012-02-21 8 views
0

このmysqlクエリを見てください。何それする必要がありますかかなり簡単です - 10日以上のタイムスタンプから作成されたリストの日付。タイムスタンプ上の奇妙なmysqlの動作

それは動作しますが、私は唯一の1タイムスタンプのマッチングをお持ちの場合は完全に...

  • が、私は0の結果を持っていません。
  • 私は2つのタイムスタンプが一致する場合、私は1つの結果があります。
  • 私は3タイムスタンプのマッチングを持っている場合、私は2件の結果
  • ...などを持っている...だからテーブル内の最新のタイムスタンプは、常にクエリによって無視され

、WHY?!

$timestamp_now = date('U'); 
$timestamp_10_day_back = $timestamp_now - 864000; 

mysql_select_db("$db_visitors"); 
$sql = "SELECT DATE(FROM_UNIXTIME(visitors_timestamp)) 
     FROM visitors 
     WHERE visitors_timestamp > $timestamp_10_day_back 
     ORDER BY visitors_timestamp DESC"; 
$sql = mysql_query($sql); 
$row = mysql_fetch_array($sql); 

while($row = mysql_fetch_array($sql)) { 
    echo $row[0] . "<br>"; 
} 

答えて

7

ちょうどその時、あなたのwhileループで再びそれを呼び出す

1

最初の行が原因行$row = mysql_fetch_array($sql);で無視されて、あなたの最初の結果を嚥下さ

$row = mysql_fetch_array($sql); 

を...削除します。この行を削除してください。

0

$n=count($row); 
if($n>0){ 
for($i=0;$i<$n;$i++){ 
    echo $row[i];}} 

または

print_r($row); 
を次のコードを試してみてください