1

やあ皆さん、次の使用に問題があります。

for ($i = 0; $i < count($noncompUsername); $i++)
{
    $tsql ="SELECT firstname,lastname,email,phone,statuschangedate FROM csvdata WHERE username = :username ORDER BY statuschangedate";
    $tgetmeminfo=$DBH->prepare($tsql);
    $tgetmeminfo->execute(array(':username' => $noncompUsername[$i]));
    while ($trow = $tgetmeminfo->fetch(PDO::FETCH_ASSOC)){

        $csvFirst = $trow['firstname'];
        $csvLast = $trow['lastname'];
        $csvEmail = $trow['email'];
        $csvPhone = $trow['phone'];
        $csvDate = $trow['statuschangedate'];
        $timediff = strtotime($date) - strtotime($csvDate);
        $timediff = floor($timediff/86400);

        $sql ="SELECT MailingAdrs FROM insuranceverificationdisclaimer WHERE TraineeUsername = :tusername";
        $getmeminfo=$DBH->prepare($sql);
        $getmeminfo->execute(array(':tusername' => $noncompUsername[$i]));
        while ($row = $getmeminfo->fetch(PDO::FETCH_ASSOC)){

            $csvAddrs = $row['MailingAdrs'];
            $change = 1;
        }
        if($change != 1)
        {
            $csvAddrs = "No address";
        }
        $change = 0;
        echo "$timediff, $csvFirst $csvLast, $csvEmail, $csvPhone, $csvAddrs";
    }
    echo "
    <br>
    ";
}

これで機能しますが、指摘したい部分は$tsql ="SELECT firstname,lastname,email,phone,statuschangedate FROM csvdata WHERE username = :username ORDER BY statuschangedate";- これを実行して statuschangedate の整数を現在の日付に取得し、整数として出力すると、日付に基づいて適切に並べ替えられません。

したがって、これを一番古い日付で注文する必要があり、次のようになります...

ありがとうございました!

デビッド

4

2 に答える 2

3

降順で日付を並べ替えます ( を使用DESC):

... ORDER BY statuschangedate DESC
于 2013-04-16T01:22:01.930 に答える