MY_SQLに利用者が言葉を登録しています。それを利用者が設定した時間(delivery_hour)に利用者に送るWEBアプリケーションを作っています。1ヶ月、勉強した初心者です。
添削していただいたのですがわかりません。
MY_SQLから取り出したいカラム名は、itemの中のitem_textです。このitem_textが利用者が登録した言葉になります。
そして、現在利用者に送るsend.phpを作っています。いろいろ以下の様なことを教えていただいたのですが、わかりません。
「「1.データベースのuserテーブルからデータを取得する。
↓
2.そのデータをwhileループする。
↓
3.そのループの中でitemテーブルへのSELECTを発行する。
(その際にitemテーブルのuser_idを指定して、対象ユーザーのデータのみを抽出する)
このような流れで、SELECT文は2回に分けて書くようにします。」」
↑の様なことを教えていただきました。ID指定の部分のやり方がわかりません。
以下、config.phpやfunctions.phpはデーターベース情報や何度か他のphpファイルと被る部分を置き換えた物になります。
<?php require_once('config.php'); require_once('functions.php'); //1データベースのuserテーブルから、delivery_hourが現在の時刻のユーザーを全件取得する。 $pdo = connectDb(); $sql = "SELECT * from user"; $stmt = $pdo->query($sql); //2取得したユーザーをループする while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){ if($row['delivery_hour'] == date(H)){ $sql2nd = "SELECT * from item where item_text = :item_text limit 1"; $stmt2nd = $pdo-query($sql2nd); $stmt2nd-execute(array(":item_text" => item_text)); $row2nd = $stmt2nd->fetch(); } unset($pdo); //取得した言葉から1件ランダムで抜き出し、メールを送信する。 // // $mail_title = '本日の言葉。'; // $mail_body = 'ニックネーム:'.$user['user_screen_name'].PHP_EOL; // $mail_body.='メールアドレス:'.$user['user_email']; $body = '言葉:'.$item['item_text]; // mb_language("japanese"); // mb_internal_encoding("UTF-8"); // mb_send_mail(MY_EMAIL,$mail_title,$mail_body,$body); // } exit; ?>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。