【開発実況シリーズ】店舗用Web予約システムを作る「#17 予約チェック処理実装編」

Тәжірибелік нұсқаулар және стиль

動画をご視聴頂き、ありがとうございます!
今回は、予約しようとした日時に「すでに予約が埋まってしまっているかどうか?」をチェックする処理を実装していきます。
参考になったら高評価、チャンネル登録よろしくお願いします!
🔔LINE限定マガジン配信中━━━━━━━━━━━━━━
🔻登録はこちら(無料)🔻
blog.senseshare.jp/line.html
✅プログラミングを最短で身につけるための学習方法とは?
✅プログラミングを仕事にするための方法
✅プログラマーという仕事の実情 etc...
本気でプログラミングを自分の「スキル」にしたい方は必見!
🎁LINE登録者限定特典
[特典1] プロ直伝!Webエンジニアとして独り立ちするために学ぶべきスキルマップ
[特典2] Webエンジニアとして就職/転職するための【具体的学習戦略】
[特典3] プログラミングを学ぶ時の「心構え」
🔔KZreadメンバーシップ━━━━━━━━━━━━━
/ @keitokuta
✅開発実況のソースコード提供
✅動画に関するご質問への回答
✅限定壁紙配布
✅バッジ・カスタム絵文字
などの特典をご用意していますので、皆さんぜひご参加ください!
🔔完全サポート付きマスター講座━━━━━━━━━━━━━
learn.senseshare.jp/
徳田 啓が直接あなたの「メンター」となり、プログラミングスキルを1から順番にレクチャーする有料講座
✅自宅で好きな時に学べるオンライン講座
✅独立を想定した超実践的カリキュラム
✅回数無制限の個別サポート
🔔オンラインマッチングで「チーム開発」を体験!━━━━━
exe-team.com/
開発メンバーをオンラインでマッチング
レベル別に用意された「課題プロジェクト」にチームを組んで挑む!
✅チーム開発が体験できる
✅エンジニアポートフォリオが作成できる
✅AIと一緒に開発できる
おすすめの再生リスト━━━━━━━━━━━━━━━━━━
• 圧倒的に分かりやすい解説シリーズ
• 開発実況シリーズ
発信メディア一覧━━━━━━━━━━━━━━━━━━━━
X
/ senseshare_inc
BLOG
blog.senseshare.jp/
目次 ━━━━━━━━━━━━━━━━━━━━━━━━━
00:44 仕様の検討
02:41 予約重複チェックの実装
#プログラミング

Пікірлер: 17

  • @keitokuta
    @keitokuta Жыл бұрын

    メンバーさん限定で、動画に関するご質問への回答を行います! ぜひメンバーシップへご参加ください! kzread.info/dron/TXdD--JWY_iYhGWgimGpug.htmljoin

  • @user-yb4dc6hw2c

    @user-yb4dc6hw2c

    Жыл бұрын

    徳田様、メンバーシップ特典コードについて質問させて頂きたいのですが、徳田様が掲載されたweb日報システムとweb予約システムをMAMPで起動した際に,HTTPエラー500が全てのコードで表示されています。私のMAMPのパスはApplication/MAMP/htdocsであります。 個人的に作成したコードはMAMP上で問題なく動いている状況です。この問題を解決する方法について教えて頂けると嬉しいです。よろしくお願い致します。

  • @keitokuta

    @keitokuta

    Жыл бұрын

    まずは原因特定のため、web予約システムの「web」フォルダ直下に「index2.php」という新規ファイルを作成し、ファイルの内容に「TEST」とだけ記入してください。そして、ブラウザでweb予約システムのURLにアクセスし、URLの末尾をindex2.phpに変更してアクセスし直してみてください。すると画面にはどのように表示されますでしょうか?

  • @user-yb4dc6hw2c

    @user-yb4dc6hw2c

    Жыл бұрын

    @@keitokuta  徳田様のご指摘を忠実に実行させて頂いた結果,   繝・せ繝・ という文字が表示されてしまいます。 この問題とweb予約確認システムと日報登録システムを表示させるために、他にどのような解決策がありますでしょうか?  お忙しいとは思いますが、何卒よろしくお願い致します。

  • @keitokuta

    @keitokuta

    Жыл бұрын

    となると、おそらくDB接続に失敗している可能性が高いかと思います。config/config.phpに定義されている「DB_HOST」「DB_NAME」「DB_USER」「DB_PASSWORD」の設定内容が、実際のDB情報と合っているかご確認ください。

  • @user-yb4dc6hw2c

    @user-yb4dc6hw2c

    Жыл бұрын

    @@keitokuta   徳田様、ご連絡いただき誠にありがとうございます。データベースの接続の有無が重要なポイントだったのですね、。確認してみます。 別件で質問させて頂きたいのですが、 日報システムの/login.phpにおいて要求された URL はこのサーバーで見つかりませんでした。という表示がされてしまう状況です。 この問題の解決策について 教えて頂けないでしょうか? ご多忙だと思いますが、何卒よろしくお願い致します。

  • @TM-hn6wq
    @TM-hn6wq Жыл бұрын

    現在ジムを経営しているのですが、独自で予約・顧客管理システムを開発してさらにビジネス展開していきたいなと思い徳田啓さんの動画に辿り着きました!!全くのど素人ですがメンバーシップ登録をして、チャレンジしたいと思います!!

  • @keitokuta

    @keitokuta

    Жыл бұрын

    独自システム、良いですね!完成に向けてがんばっていきましょう! 動画がご参考になれば幸いです。

  • @user-rb6lr8ls6u
    @user-rb6lr8ls6u Жыл бұрын

    メンバーシップに登録しようかと考えているのですが、登録方法が分かりません… またこのweb予約システムのシリーズはあと何回ほどで完結しそうですか??出来れば知りたです!

  • @keitokuta

    @keitokuta

    Жыл бұрын

    スマホアプリ版のKZreadでは「メンバーになる」ボタンが表示されない場合があるようですので、その場合はPCのブラウザにてチャンネルページをご確認頂けたら幸いです!こちらのシリーズは#20~#25くらいで完結予定です(動画のボリューム調整によって変動する可能性があります)

  • @user-fh5ie6gn8b
    @user-fh5ie6gn8b Жыл бұрын

    #17公開ありがとうございます! 進めていたのですが、phpで「予約成立済み人数」を取得する箇所で詰まってしまっていて大変恐縮ですが、ご教授いただけたら幸いです。 phpMyAdminで書いたsql構文は「8」と正しく返ってくるのですが、phpに組み込み動画通りに書き換えると 「boolean false」が返ってきてしまいます。 php内で色々試したのですがsql文の日付と時間を「:reserve_date」や「:reserve_time」に書き換えると「boolean false」となりまして、数値のままであれば「string '8' (length=1)」と正しく返ってくることを確認しております。 何が原因か分かりますでしょうか・・ また、dockerではなくmamp環境で作っています。この環境が違う点がございますのでそれが原因ということもあるのでしょうか。 大変恐縮ですが、ご教授いただけたら幸いです。 よろしくお願いいたします。

  • @keitokuta

    @keitokuta

    Жыл бұрын

    「:reserve_date」や「:reserve_time」といったプレースホルダに変更するとデータが取得出来なくなるのであれば、おそらくbindValueの部分に問題があるかと思います。下にあるbindValueの2行でそれぞれに実際の値を割り当てていますが、各変数値($reserve_date、$reserve_time)が正しいかどうかチェックしてみましょう。

  • @user-fh5ie6gn8b

    @user-fh5ie6gn8b

    Жыл бұрын

    @@keitokuta ご返信ありがとうございます!記述の問題ですかね。。自分ではいくら見ても気付けずにいます。コードを貼りますので、お気づきがあればご教授いただけたら幸いです。 //DBのreserveテーブルからその日時の「予約成立済み人数」を取得 $stmt = $pdo->prepare("SELECT SUM(reserve_num) FROM reserve WHERE DATE_FORMAT(reserve_date,'%Y%m%d')=:reserve_date AND DATE_FORMAT(reserve_time,'%H:%i')=:reserve_time GROUP BY reserve_date,reserve_time LIMIT 1"); $stmt->bindValue(':reserve_date',$reserve_date,PDO::PARAM_STR); $stmt->bindValue(':reserve_time',$reserve_time,PDO::PARAM_STR); $stmt->execute(); $reserve_count = $stmt->fetchColumn(); var_dump($reserve_count); exit;

  • @keitokuta

    @keitokuta

    Жыл бұрын

    上記のコードには特に間違いは無いようですので、$reserve_date、$reserve_time変数が正しく渡ってきているか、各変数をデバッグ表示して確認してみましょう。

  • @user-fh5ie6gn8b

    @user-fh5ie6gn8b

    Жыл бұрын

    @@keitokuta ご返信ありがとうございます! ご指摘の変数や他の箇所も値がどこから渡ってきていないのか色々と動画を見直しておりましたところ、 [#16]の予約日選択配列の箇所のフォーマット指定が間違っていて値が正しく渡っていなかったようです。 $reserve_date_array[date('Ymd',$target_date)]=date('n/j',$target_date); 「Ymd」を「ymd」と記述していました。 大変お手数お掛けしまして申し訳ありませんでした。取り急ぎ解決いたしました。ご指摘ありがとうございました。 次回の公開も楽しみにしております。

Келесі