質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
phpPgAdmin

phpPgAdminは、PHPで作成された複数のPostgreSQLデータベースをブラウザから簡単に管理・操作できるツール。テーブルの作成や参照を始め、データのバックアップやリストアといった操作が可能になります。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

データベース設計

データベース設計はデータベースの論理的や物理的な部分を特定する工程です。

解決済

php forで取得したinputの値をDBに保存する方法と、できればその際のDB関連も教えてください。

退会済みユーザー

退会済みユーザー

総合スコア0

phpPgAdmin

phpPgAdminは、PHPで作成された複数のPostgreSQLデータベースをブラウザから簡単に管理・操作できるツール。テーブルの作成や参照を始め、データのバックアップやリストアといった操作が可能になります。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

データベース設計

データベース設計はデータベースの論理的や物理的な部分を特定する工程です。

1回答

-5評価

0クリップ

397閲覧

投稿2022/03/06 09:09

編集2022/03/07 16:55

どう質問していいかもよくわからないミラクル初心者ですがお願いします。

アドバイス頂きたい事
・下記コードパターンでのDB登録方法。
・おそらくそれ以前の問題であるDB設計、必要テーブル、カラム等
(スモールビジネス向けの為、現状からでも遅くないかと)

コード、画像は下に貼っています。
予約システムを練習で作っていて、2022-03-16 11:00 のような文字列データをデータベースに登録したいです。
DBにはDatetime型で入れればいいと思うのですが、どうやって入れればいいのか?で詰まっています。
↓↓ボタンが押されたら  のforの中でsqlを書けばいいのかな?と思ってはいるのですが、それが正解だとしても書き方が分かりません。

forでechoはできたので、どうやって入れるのか教えて頂きたいです。
というのも、配列のままDBへ入れるという事が自分にとって不可能案件過ぎて現状に至りました。

この仕組みの壁(自分にとって)は、いくつ選択されるか分からないという点です。
選択上限数は7か8で設定します(今後の課題)

全体像
会員数40人程度のスモールビジネス予約システムをイメージしています。

1,予約プランによって選択(予約)できる上限数が決まっている 1枠=1時間
例↓
ライトプラン:3回
スタンダードプラン:5回
マスタープラン:7回  
(月に7コマ=7時間)枠が空いていれば1日に7コマ予約してもOK。(いるわけない)

2,予約完了ボタンを押したら
①,DB保存:(登録日(Y-m-d H:i:s) 選択した時間(例☆:2022-○○-○○ 13:00)
最初は【2022-02-22(火)13:00~14:00】というデータだったのですが、このまま文字列型で保存 
したとして、その後の機能追加や管理に悪影響?というか不可能?と思い例☆の様にしました。
あとはDatetimeでぶちこめばいいのかと…これらの考えもあってるのかどうなのか分かりません 。
②,予約完了メール:送信ユーザーと管理側に予約完了メールを送信
③,予約状況:画像のマス(選択すると青くなる部分)に予約が入っていれば「✕」マークを付けたい

3,キャンセル機能を付けたい。

4,平日、土日、何曜日の何時~何時の枠が人気なのか等の集計、ユーザーの予約履歴、全体の予約履歴?がsqlで管理できるようにしたい。

DBに必要な情報(自分の頭の中では)
ID、氏名、、ふりがな、〒、住所、電話、メールアドレス、ログインID、ログインパスワード
等はすでに作ってあり(同じテーブル)テスト用情報複数登録済、ログイン、ログアウトもできる状態です。
それ以外は作っていません。

作る前にDB設計からだろ…と自分でも思いますが、ミラクル初心者なのでご容赦下さい。
・「予約する」ボタンを押した日時(予約が重なった場合、秒単位で早い方が成功する様に)
・予約した時間枠

等のアドバイスお願いしますm(__)m

登録日時取得の為 $days = date ("Y-m-d H:i:s") // $hiduke[] からそれぞれの値を取得し、日付が若い順に並べる $hiduke = ($_GET['hiduke']); array_multisort( array_map( "strtotime", $hiduke ), SORT_ASC, $hiduke ) ;  //$hiduke[] に入っている値と数を取得し、それぞれのnameにindexを付ける for($i=0;$i < count($hiduke); $i++){ echo '<input type="text" value="'.$hiduke[$i].'" name="time'.$i.'"></input>'; }       ● //for文のループ回数 $i を取得 (配列から取り出し、indexを付ける為) echo '<input type="hidden" name="kaisu" value="'.$i.'">';    //登録日  echo '<input type="hidden" name="day" value="'.$days.'">'; ↑↑ ここまで…この○個の日時が選択されています。予約しますか?  「戻る」ボタンと「予約する」ボタン ↓↓予約するボタンが押された if (isset($_POST)){ ●forのループ回数    $kaisu = ($_REQUEST['kaisu']);   for ($i=0; $i<$kaisu;  $i++){ echo $_REQUEST['time'.$i.''] .'<br>'; } 登録日 echo $_REQUEST['day']; コード

イメージ説明
イメージ説明

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

退会済みユーザー

退会済みユーザー

2022/03/07 00:57

phpPgAdminを質問タグにつけていますが、phpPgAdminはあくまでPostgreSQL用のDB管理ツールでしかなくデータベースシステムそのものではないので、本来ここでは関係ないはずです。PostgreSQLを質問タグにつけるか、間違ってつけたのなら他のDB名(MySQLなど)をつけましょう。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

phpPgAdmin

phpPgAdminは、PHPで作成された複数のPostgreSQLデータベースをブラウザから簡単に管理・操作できるツール。テーブルの作成や参照を始め、データのバックアップやリストアといった操作が可能になります。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

データベース設計

データベース設計はデータベースの論理的や物理的な部分を特定する工程です。