2

mysql のテーブルから販売詳細の長いリストを表示しています。問題は、1 か月間しかデータを取得できないことです。月が変わるとすぐに何も表示されません。例: 2015 年 1 月 5 日から 2015 年 5 月 30 日までのデータが表示されますが、2015 年 1 月 6 日からは何も表示されません。

次のコードを使用して、データベース内の各販売のタイムスタンプ値を追加します。

$time = round(microtime(true)*1000);

コードの残りの部分は次のとおりです。

<?php
include 'connect.php';
$timestamp = "";
$return = array();
$response = "";
$sql = "SELECT * FROM receipts ORDER BY timestamp DESC LIMIT 1";
$result1 = mysqli_query($db, $sql);
if($details = mysqli_fetch_array($result1)){
    $timestamp = $details['timestamp'];
}

$sql = "SELECT * FROM sales WHERE timestamp>'$timestamp' ORDER BY date ASC";
$result = mysqli_query($db, $sql);

echo "<table class=table1>";
while($fetch_options=mysqli_fetch_array($result)){
    $memo=$fetch_options['memo'];
    $product=$fetch_options['pid'];
    $qty=$fetch_options['qty'];
    $amount=$fetch_options['amt'];

    echo "<tr>";
    echo "<td align=center>$memo</td>
             <td align=center>$product</td>
             <td align=center>$qty</td>
             <td align=center>$amount</td>";
    echo "</tr>";
}
echo "</table>";
?>

この問題は、タイムスタンプの値に関係していると思います。前もって感謝します。

4

2 に答える 2

0

私はコメントしましたが、まだそれを行うのに十分な担当者がいません。

time()代わりに使用する必要があると何かが教えてくれますmicrotime()

time()秒単位の時間を INT として返します。microtime()最初のパラメーターとして true を使用して、STRING または FLOAT としてマイクロ秒単位で時間を提供します =>microtime(true)

私が見ることができるように、あなたはmicrotime()1000を掛けています.それはあなたと同じになりますtime().

time()の代わりに使ってみてくださいround(microtime()*1000)

http://php.net/manual/en/function.microtime.phphttp://php.net/manual/en/function.time.php

于 2015-06-05T17:34:14.497 に答える