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

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

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

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Q&A

解決済

3回答

3444閲覧

データベースを使用したカウントについて

teityann1225

総合スコア158

PHP

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

0グッド

0クリップ

投稿2017/05/09 08:55

###やりたいこと

ボタンを押された回数をデータベースに記録する仕組みなのですが、
PHPでファイルを複製して、最初はデータ追加で、次からデータの更新でやりたいのですが、データの追加をしたときにその列番号を取得し、保存しておいて、次回からその列のデータを更新していくみたいなことは出来ますか?
出来れば具体的にお願いします。
宜しくお願いします❗

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2017/05/09 09:53

回答は具体的にお願いしますっておっしゃっていますが、質問はそれで具体的だとお考えなのでしょうか。ある程度コーディングを進めているのであれば、そういうソースも示してくれると誤りの指摘などアドバイスが受けやすいと思います。
guest

回答3

0

ベストアンサー

列番号うんぬんがどういう想定かわかりませんが
INSERT ~ ON DUPLICATE KEY UPDATE構文で処理すればよいのでは?

投稿2017/05/09 09:08

yambejp

総合スコア114742

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

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

Zuishin

2017/05/09 09:14

カウンタ用のテーブルを用意し、一行につき一つのカウンタに対応するようなもので、列番号ではなく行番号と書きたかったのではないかと読みました。
guest

0

カウントする対象のボタンは運用中に増減しますか?
しない前提で考えると、
データベース上にボタンごとのユニークIDをキーにクリック数をカウントするためのテーブル(たとえばcount_tableなどと名付ける)を設けて、
カウント用のフィールド(例えばcount_value)の初期値ゼロにしておきます。
ボタンをクリックするためのhtmlのフォームで、ボタンにそのユニークIDをつけて
ボタンにonclickイベントでjavascriptからフォーム送信するように仕込みます。

ボタンクリックのアクションのたびに、
そのユニークIDを受信して、テーブル上のカウントを1足します。
カウントする処理内で、
UPDATE count_table SET count_value = count_value + 1 WHERE id = 'ユニークID';
とシンプルなSQL文の実行で済みます。
これで要件を満たすはずです。

なお、運用中にカウントするボタンが増減する場合には、
その仕組の外(データベースを直接触れる環境など)から、
必要に応じてユニークIDを追加し初期値ゼロで準備すれば済む話と考えます。

システムとしてもう少し深掘りするなら、
カウントできる有効期間が必要だったりしたら、
そのテーブルに有効期間開始日時、終了日時もセットで持つようにします。

ボタンのそばに現在までのカウント数を表示する必要があるなら、
phpなどの処理であらかじめユニークIDごとのカウント数を抽出しておくために
SELECT id, count_value FROM count_table;
などとしてクエリーを実行し、ユニークIDをキーにした連想配列にカウント数を格納すれば、
適切にhtmlのフォームに組み込むのに使えるでしょう。

なんらソースコードを示されないので、
文章から読み取れる範囲を想定しての
大まかな流れを文章で説明しました。

システムの設計をさせられている気分になってきました。
自分で作り上げず、作れる人に発注したほうが早いんじゃないですか?

投稿2017/05/10 02:10

編集2017/05/10 02:11
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

teityann1225

2017/05/10 09:01

PHPで自動で複製できるようにするには、どこを改良すればよいのですか?
退会済みユーザー

退会済みユーザー

2017/05/10 09:09

カウントし記録する、という流れと、複製する、というのが、どう絡んでくるのか、おっしゃっている意味がわかりません。丁寧に説明してください。場合によっては別件の質問になりうるかもしれませんが。
guest

0

公開する前にあらかじめデータベースに 0 回と記録しておき、次からは更新のみすればいいと思います。

投稿2017/05/09 09:00

Zuishin

総合スコア28660

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問