サポート » 使い方全般 » データベースから値を1つずつ取得したい

  • 解決済 JunichiK

    (@junichik)



    いつも大変お世話になっております。

    プラグインContact Form DBのデータベースの値を1つずつ取得したいのですが、方法が分かりません。
    現在、送信日時を下記のように取得しております。

    <?php
    $user_id = get_current_user_id();
    $cfdbs = $wpdb->get_results( "
    SELECT *
    FROM {$wpdb->prefix}cf7dbplugin_submits
    WHERE field_name = 'your-id' AND field_value = {$user_id}
    " );
    foreach ($cfdbs as $cfdb) {
    $cfdb_time = $cfdb->submit_time;
    echo "<td>".date("Y-m-d H:i:s", $cfdb_time ). "</td>";
    }
    ?>

    Contact Form DBのフィールドは、submit_time,form_name,field_name,field_value,field_order,fileとあり、field_nameに各入力項目があり、それに対する値がfield_valueにあるので、単純に行ごとに取得出来ないのです。

    上記コードで、ログインユーザーの送信日時を取得しておりますが、その$cfdb_timeに対する他の値も取得してtableに収めたいのです。

    上記コードでは、送信日時が、
    <td>2014-07-24 09:19:42</td><td>2014-08-05 14:33:18</td>
    というように取得されますが、その後に、同様にwhere条件にsubmit_time = {$cfdb_time}
    として他のfield_valueを取得しても、1件のみしか取得されません。
    それで、配列のように、1件ずつ取得できれば・・・と思ったのですが、可能でしょうか?

    いつも教えてもらってばかりで申し訳ないですが、何卒、ご教示のほどよろしくお願い致します。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • 自己解決いたしました。

    get_results()の第二引数を、ARRAY_Aとすることで連想配列として取得できましたので、あとは、whileでループして、配列の番号を変数で加算していくことで、目的を達成出来そうです。

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

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「データベースから値を1つずつ取得したい」には新たに返信することはできません。