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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

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

Q&A

解決済

3回答

559閲覧

学習記録サービスを制作する上でPHPは必要なのか知りたい。

Yuki2

総合スコア52

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

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

0グッド

0クリップ

投稿2021/05/16 11:18

編集2021/05/16 11:19

ユーザーが学習を記録できるサービスを制作したい。

①ユーザーが記録したい項目を決める(読書、数学、英語等々)
②ストップウォッチorタイマーを選ぶ。
→選んだ項目が発動する。
③学習が終わるとTwitterで①で打ち込んだ項目を発信できる。

例)〇〇(読書、数学、英語等々)を〇〇時間行いました!

上記の例文のように定型文をあらかじめ用意して〇〇の部分だけ変更する。

使おうとしているツール・言語

html,css
→サイトの見た目を整えるのに必要
JavaScript
→時計の作成とか
PHP
→ユーザーの入力したデータを送信する?
MySQL
→ユーザーの入力したデータを保存する?

その他に必要な言語等あれば知りたいです。

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

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

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

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

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

guest

回答3

0

ベストアンサー

①ユーザーが記録したい項目を決める(読書、数学、英語等々)
②ストップウォッチorタイマーを選ぶ。
→選んだ項目が発動する。
③学習が終わるとTwitterで①で打ち込んだ項目を発信できる。

例)〇〇(読書、数学、英語等々)を〇〇時間行いました!

上記の例文のように定型文をあらかじめ用意して〇〇の部分だけ変更する。

本当にこの機能だけで良ければ、HTML+CSS+JavaScriptだけで実現可能です。
ただし、その場合、データはブラウザに保存されることになるので、利用者がブラウザやPCを変更したり、ブラウザのデータをクリアした場合にはTweetされていないデータはクリアされることになります。

個人的にはAPIによるアプリ連携を行ってリスクを抱え込むよりは、データリセットの制約があってもJavaScript+CSS+HTMLで作ってしまう方が良いケースにも見えますので、とりあえずHTML+CSS+JavaScriptで作ってしまってみることをお勧めします。
(サーバ側で情報を記録したくなった時にも、作った部分の再利用は出来ます)

まずは、
twitter リンク 投稿
あたりで検索してみて、HTMLのリンクで任意の投稿を行う方法を確認/理解されることをお勧めします。

投稿2021/05/17 06:26

編集2021/05/17 06:50
tanat

総合スコア18713

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

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

0

データをユーザ間や別セッションで共有したいならデータベースは必要です。
データベースを扱えてWebサーバーで動作する言語ならPHPである必要はないです。
そのデータベースもMySQLである必要はないです(種類は1個ではないから)
データベースとサーバーサイドの言語は依存関係にはないので
別に別の言語やアプリで同じデータを参照するということも可能。
(なのでPC版、スマホ版、ブラウザ版で画面さえ用意すれば同じユーザーとしてゲームがプレイできる。
データベースのやり取りをWeb API化するだけ)

PHP

→ユーザーの入力したデータを送信する?

入力したデータを送信するのはformのsubmitの役割であって
PHPなどサーバーサイドの言語はその送信された情報を「リクエスト」として受け取り
「レスポンス」として呼び出し元に返します。

MySQL

→ユーザーの入力したデータを保存する?

「保存するためのSQLをデータベースに届ける」まではPHPなどサーバサイドの言語の役割
「渡されたSQLを解析しそれに基づいた結果を返す」までがMySQLなどデータベースの役割です。

つまり
Webページからリクエスト送信
→サーバーサイドの言語でリクエストを受け取りSQLを構成しDBに送信
→DB側で届けられたSQLを実行し結果を返却

「リクエストとレスポンス」の連続です。

投稿2021/05/16 11:20

編集2021/05/16 12:45
m.ts10806

総合スコア80850

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

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

m.ts10806

2021/05/16 11:41

Twitter APIのドキュメント読んでください。
m.ts10806

2021/05/16 11:42

言語や環境なんて所詮何かを実現するための道具(ツール)の1つです。
guest

0

ユーザーの学習記録を保持しておく場所として、
どこを主体にするかがぼやけているように見えます。

html/cssで静的サイトとして作ったとしても、
ユーザーを識別して学習実績を記録するためには、
なんらかのデータ保持する仕組みを使わないと無理です。
その仕組みへの橋渡しとして
例えばphpを使ったり、他のサーバー側言語を使ったりします。

そして、その保持した学習実績をhtmlの中に表示するのにも、
サーバー側言語が必要です。

静的サイトから、動的サイト・動的コンテンツに進化します。

もしも、twitterに学習実績を投稿するだけでいいとしても、
その学習実績を取り込むのにtwitter側とAPI連携する必要が出てきますし、
何らかの事情でデータ取得できないときにどうするかという問題も出てきます。

データベースとしてmysqlを使ってもいいですし、
sqliteっていうものもありますので、
お好きなものをどうぞ。

投稿2021/05/17 00:16

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問