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

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

新規登録して質問してみよう
ただいま回答率
85.48%
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スクリプトは「サーバサイドスクリプト」と呼ばれています。

データベース設計

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

Q&A

解決済

1回答

663閲覧

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スクリプトは「サーバサイドスクリプト」と呼ばれています。

データベース設計

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

0グッド

0クリップ

投稿2022/03/06 09:09

編集2022/03/06 10:13

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

アドバイス頂きたい事
・下記コードパターンでの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']; コード

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

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2022/03/07 00:57

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

回答1

0

ベストアンサー

設計できる技量が伴っていないのに、先を急ぎ過ぎなように思います。
まだまだテキストを写経しながら、こういう場合にこう書くんだなっていう積み上げをしていた方が身につきそうな段階だと思います。

PHP言語の習得やSQLの習得も大事なのですが、
webにまつわる技術用語や仕組みへの理解はどうでしょうか。
こういうweb越しのQ&Aにおいては、相手のレベル感に合わせず説明してくる方もおられますので、
説明する手間を掛けても質問者さん地震が汲み取れないと無意味なものになってしまいます。
私も時間が惜しいので、無駄になるかもしれない助言を紡ぎ出すのに躊躇してしまいます。

PHP周りの助言をほしそうなので、関連しそうな情報をいくつか列挙します。
【php入門③】複数の値をformで送受信する - 新卒から文系エンジニア→人材業界に転職した人のブログ
<input type="checkbox" name="input3[]" value="サッカー">サッカーの用にname属性を工夫することで、
print ($_POST['input3'][0].'</br>');のように配列としてアクセスすることができる、というものです。
これを駆使すればスケジュール3つを一度に受信することも可能なはずです。

投稿2022/03/07 02:01

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2022/03/07 07:55

ありがとう御座います。 ご指摘の通りの状況で、時間的な問題で間違いなく急いでいる自分がいました。 自分も得意な分野で、まだ低いレベルの人にアドバイスを求められた時 「今教えても意味がないというか伝わらない可能性があるけど、一応質問の答えはこれです。でもやはり今はまだこの段階なのでこういう風に進んだ方が近結果近道になると思いますよ」 と同じように答えると思います。勘違いさせてしまってはその先もっと困るという事が見えるので。 なのでとても優しさを感じます。ありがとうございます。 誰一人として詳しい人が周りにいないので、聞いても分からない事は自分でも分かってはいるんですが、時間があまりなくジタバタする中、進んだ先がどうなっているのかつい見たくなってしまいました。 用語や仕組みの理解を日々高めながら取り組みますm(__)m
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問