前提・実現したいこと
(例)PHPで予約システムもどきを作っています。
予約月・日・時間・氏名など入力・送信でデータベース(mariadb)に格納までは出来ています。
次にデータベースから既に予約済みの時間帯を受け取って該当枠の時間帯に「予約済み」と表示したい。
発生している問題・エラーメッセージ
9時~ の部分は下記コードの2個目の<?php ?>部分でデータの取得を確認のため表示
3個目の<?php ?>で取得したデータに「9」が含まれれば「予約済み」、含まなければ「9:00~」と表示させたいが以下のようなエラーメッセージ。
・・・・・・・・・・・・・・・・・・・・
9時~:yamauchi
10時~:指原 莉乃
11時~:慎太郎
16時~:茂貴
Notice: Trying to access array offset on value of type bool in C:\xampp\htdocs\php_lesson\abc.php on line 20
Warning: Use of undefined constant ture - assumed 'ture' (this will throw an Error in a future version of PHP) in C:\xampp\htdocs\php_lesson\abc.php on line 20
Warning: in_array() expects parameter 2 to be array, null given in C:\xampp\htdocs\php_lesson\abc.php on line 20
9:00~
該当のソースコード
言語:PHP
<?php $dsn = 'mysql:dbname=reserve;host=localhost'; $user = '****'; $password = '********'; $dbh = new PDO($dsn, $user, $password); ?> <?php $sql = 'select timetable, name from reserveday where month = ? AND day = ? order by timetable'; $stmt = $dbh->prepare($sql); $stmt->execute(array(10, 2)); while($result = $stmt->fetch(PDO::FETCH_ASSOC)){ print($result['timetable']."時~".":"); print($result['name'].'<br>'); } ?> <?php if (in_array(9, $result['timetable'], ture)){ echo "予約済み"; }else{ echo "9:00~"; } ?>試したこと
補足情報(FW/ツールのバージョンなど)
DB・サーバーは、ローカルを使用しています。
xammpバージョン 3.2.4
atom
PHPバージョン:PHP7.0.x
回答3件
あなたの回答
tips
プレビュー