-1

変数で mysql_fetch_object() によって返されるデータを取得する方法。以下のコードを使用しています....条件に基づいてDBから日付を取得しようとしていますが、値を変数に1つずつ格納したいと考えています。しかし、このコードを実行すると、stdobj によって返されたすべての値が出力されます。

<?php
    $connect=mysql_connect('host','user','xyz') ;
    echo mysql_error();
    $db=mysql_select_db("file_date",$connect);
    echo  mysql_error();
    $append_d="00:00:00";
    $date_test=date('Y-m-d', strtotime("-20 days"));
    $full_d="$date_test "."$append_d";
    $query_d=mysql_query("SELECT time as time_f FROM table WHERE date>='$full_d'");
    $data_s = "";
    while ($row_s = mysql_fetch_object($query_d)) {
      $x_gmail=$row_s->time_f;
      echo $x_gmail;
    }
?>

以下はサンプル出力です

-:2013-09-08 13:45:292013-09-09 14:19:192013-09-10 17:30:072013-09-12 11:39:492013-09-12 12:09:492013-09 -12 14:09:482013-09-12 16:09:472013-09-12 18:04:472013-09-12 19:09:462013-09-13 00:05:442013-09-13 17:09 :372013-09-14 00:04:342013-09-15 22:59:542013-09-16 12:05:492013-09-16 13:10:482013-09-16 15:35:472013-09- 16 19:05:462013-09-17 13:44:382013-09-18 00:05:342013-09-18 12:05:292013-09-18 14:34:272013-09-18 16:45: 272013-09-18 17:35:272013-09-19 13:45:182013-09-19 21:05:152013-09-20 13:46:082013-09-23 12:59:392013-09-23 13:45:372013-09-24 13:45:272013-09-25 00:10:23

最初の値 2013-09-08 13:45:29 を任意の変数に割り当てることができるようにしたいので、変数 x をエコーすると、オブジェクト文字列全体ではなく 2013-09-08 13:45:29 が出力されます。

4

1 に答える 1

1

whileループ内で各日付文字列を出力しています。これはオブジェクト文字列全体ではありません。これらは個々の文字列ですが、改行を使用して区切っていないため、大きなチャンクとして表示されます。

日付文字列が 1 つだけ必要な場合LIMITは、SQL クエリで句を使用できます。

SELECT time as time_f FROM table WHERE date>='$full_d' LIMIT 1;

ただし、すべての日付文字列を取得したいが、最初の文字列のみをエコーし​​たい場合は、それらを配列に格納して後で再利用できます。

while ($row_s = mysql_fetch_object($query_d)) {
    $x_gmail[] = $row_s->time_f;
}

そして、次のように使用できます。

$x = $x_gmail[0];
echo $x;

それは最初のアイテムを印刷するだけです。

于 2013-09-25T19:18:58.590 に答える