Category: PHP+MySQL

  • 日付(午前0時)をまたぐ時間の判定

    はじめに レストランや飲み屋などの場合、営業時間が日付(午前0時)をまたぐケースが多くあります。そのようなケースで営業時間内であるか否かを判定する際の方法は、検索してもヒットが意外と少ない。「基本的なことでは?」といわれてしまえばその通りですが、備忘録としてPHPのコードを残しておこうと思います。 方法 お店の営業時間は、「18:00~3:00」のような形式で設定されますので、開店時間と閉店時間をそれぞれ $openTime と $closeTime とします。これらと現在の時間 $nowTime を比較すればよいのです。 $openTime と $closeTime が日付(午前0時)をまたがなければ、下記のコードになります。 日付(午前0時)をまたぐケースを考慮する場合、$openTime < $closeTime 、 $openTime > $closeTime 、 $openTime == $closeTime でわけての組み立てになります。 上記に「休店日」を考慮するともう少し複雑になります。

  • 同じテーブルを2回結合(JOIN)する

    都道府県や製造メーカーなどの一覧が保存されているテーブルを2回結合したいという案件がありまして、しかも CodeIgniter で。 CodeIgniter を使うのであれば、クエリビルダを使いたくいろいろと試行錯誤したので備忘録として。 [table01(メインのテーブル)] id address honseki 1 2 3 2 1 5 3 4 8 4 6 7 [table02(都道府県のテーブル)] id pref 1 茨城県 2 栃木県 3 群馬県 4 埼玉県 5 千葉県 6 東京都 7 神奈川県 8 山梨県 table01 に table02 を2回結合して以下のようにしたい! [結合したテーブル)] id address honseki add hon 1 2 3 栃木県 群馬県…

  • 都道府県の配列

    必要なときに探す時間を減らすため。。。 [1=>’北海道’,’青森県’,’岩手県’,’宮城県’,’秋田県’,’山形県’,’福島県’,’茨城県’,’栃木県’,’群馬県’,’埼玉県’,’千葉県’,’東京都’,’神奈川県’,’新潟県’,’富山県’,’石川県’,’福井県’,’山梨県’,’長野県’,’岐阜県’,’静岡県’,’愛知県’,’三重県’,’滋賀県’,’京都府’,’大阪府’,’兵庫県’,’奈良県’,’和歌山県’,’鳥取県’,’島根県’,’岡山県’,’広島県’,’山口県’,’徳島県’,’香川県’,’愛媛県’,’高知県’,’福岡県’,’佐賀県’,’長崎県’,’熊本県’,’大分県’,’宮崎県’,’鹿児島県’,’沖縄県’]; [‘北海道’=>’北海道’,’青森県’=>’青森県’,’岩手県’=>’岩手県’,’宮城県’=>’宮城県’,’秋田県’=>’秋田県’,’山形県’=>’山形県’,’福島県’=>’福島県’,’茨城県’=>’茨城県’,’栃木県’=>’栃木県’,’群馬県’=>’群馬県’,’埼玉県’=>’埼玉県’,’千葉県’=>’千葉県’,’東京都’=>’東京都’,’神奈川県’=>’神奈川県’,’新潟県’=>’新潟県’,’富山県’=>’富山県’,’石川県’=>’石川県’,’福井県’=>’福井県’,’山梨県’=>’山梨県’,’長野県’=>’長野県’,’岐阜県’=>’岐阜県’,’静岡県’=>’静岡県’,’愛知県’=>’愛知県’,’三重県’=>’三重県’,’滋賀県’=>’滋賀県’,’京都府’=>’京都府’,’大阪府’=>’大阪府’,’兵庫県’=>’兵庫県’,’奈良県’=>’奈良県’,’和歌山県’=>’和歌山県’,’鳥取県’=>’鳥取県’,’島根県’=>’島根県’,’岡山県’=>’岡山県’,’広島県’=>’広島県’,’山口県’=>’山口県’,’徳島県’=>’徳島県’,’香川県’=>’香川県’,’愛媛県’=>’愛媛県’,’高知県’=>’高知県’,’福岡県’=>’福岡県’,’佐賀県’=>’佐賀県’,’長崎県’=>’長崎県’,’熊本県’=>’熊本県’,’大分県’=>’大分県’,’宮崎県’=>’宮崎県’,’鹿児島県’=>’鹿児島県’,’沖縄県’=>’沖縄県’];

  • Zoom と連携する予約システム構築

    Zoom 連携の予約システム 当システムは、一般的な予約システムに Zoom を連携させ Zoom のミーティングを作成するとともにミーティングに必要な情報(URL, ミーティングID, パスワード)を予約登録と同時にメールで送るシステムです。 従来、お客様との打ち合わせを Zoom のミーティングで行う場合、以下のようなフローで行われているケースがほとんどと思われます。 お客様から連絡を受ける 日時を調整する Zoom のミーティングを作成する Zoom ミーティングの情報(URL, ミーティングID, パスワード)をお客様に連絡する 当日ミーティングを行う 当システムは、上記の 1~4 の作業を1つにまとめたものになります。 「Zoom 爆弾(ボム)」と呼ばれている「荒らし」の対策である「待合室」のオプションはシステム導入時に「On」としています。これによりホストの承認がなければミーティングに参加することができません。 予約時にメールで送るミーティングID は個人ミーティングID(PMI)ではございません。ミーティング毎に発行されるミーティングID をメールに載せています。 申込フォーム 上図の日付をクリックすると申込フォームに遷移します。 時間の選択肢は、空いている時間のみ選択できます(空いていない場合は選択できないようにしています)。また、時間の選択肢は他の時間に変更することが可能です(システム導入時に設定します)。 入力項目の追加や削除はご相談ください。 申込み 上図のフォームを進めると申込完了画面になり、Zoom ミーティングの情報を入力されたメールアドレスと管理者宛に送信します。 Zoom のアプリでミーティングが設定されていることを確認してください。 キャンセル時 キャンセルの際は、管理画面にあるボタン1つで Zoom のミーティングを含めてキャンセル処理ができます。 こんな場面で 次のようなご利用ができると思います。 弁護士・税理士・司法書士・行政書士など士業の相談予約 コンサル会社の予約 神社の祈願の予約 学校・塾の面談の予約 カルチャー教室の個人予約 不動産会社の面談の予約 人材派遣会社の面接の予約 etc… 上記以外でのご利用もご相談ください。 ご興味のある方は・・・ 本システムにつきまして、ご興味のある方は、以下の…

  • 2段階認証

    2段階認証とは? ID、パスワード以外の認証を加えることでセキュリティを強化する仕組みのこと。 2019年7月に騒がれた「7pay」で話題になりましたので「2段階認証」の言葉をご存知の方は多いと思います。 念のためですが、ログイン画面で見かける「読みにくい文字を入力させる」ものとは違います。 以下のいずれかの方法で時間制限があるセキュリティコードを受信しそれを入力する方式です。 SMS 電話 アプリ Eメール その他 個人情報を取り扱う管理画面へのログインに導入を推奨いたします。 導入するには? SMS及び電話の場合、セキュリティコードを発信するため、SMS配信サービス会社や音声配信サービスとの契約が別途必要になります。 アプリの場合、自社アプリを開発するのもありですが、Google が提供している「Google Authenticator」があります。但し、利用者にアプリのインストールと初期設定を行なってもらう必要があります。さらに利用者が機種変更されたときの処理が大変になる場合もあります。 以上から、Eメールでの受信がもっとも導入しやすいものと思われます。 具体的には GitHub にある GoogleAuthenticator.php をダウンロード CodeIgniter の場合、ファイル名を Googleauthenticator.php を変更 CodeIgniter のマニュアルに従って defined(‘BASEPATH’) OR exit(‘No direct script access allowed’); を追記 当ファイル内の class PHPGangsta_GoogleAuthenticator を class Googleauthenticator に変更 当ファイルを application/libraries にアップ Controller で以下のように指定する。 2段階認証をはじめセキュリティを強化したい場合は当オフィスまでお気軽にご連絡下さい。お見積もり・ご相談は無料です。