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

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

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

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

FuelPHP

FuelPHPは、軽量高速で開発が可能なPHPのWebアプリケーションフレームワークです。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

Q&A

1回答

1920閲覧

ajaxでいいねボタンを実装 Fuelphp1.7.0利用

amaguri

総合スコア227

PHP

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

FuelPHP

FuelPHPは、軽量高速で開発が可能なPHPのWebアプリケーションフレームワークです。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

0グッド

0クリップ

投稿2017/09/01 07:14

編集2017/09/01 08:48

現在

テーブル posts カラム id body nice

postsテーブルのデータが
表示されているページがあります。

やりたいこと
・投稿に対して「いいねボタン」を押された場合、postsテーブルのidに対応したniceにカウントを+1する
・「いいねボタン」をもう一度押された場合カウントを+1を取り消す。
・同じIPからは一回しか「いいねボタン」を押せなくする(再読み込みでもう一度押せなくする)

以上のことを
Fuelphp
JavaScript (ajax)
を利用して
実装したいのです。

いいね機能を実装するにあたり
一般的に「いいねボタン」等のカウントは
どのように設計するのでしょうか?

考えていたの実装方法は
HTMLにてボタンを作成
ボタンが押された時にajaxでphpを起動しDBにカウントを+1
処理後にボタンの色を変更
もう一度押された場合ajaxでphpを起動しDBにカウントを-1
という動きを想定していました。

色々を調べてみたのですが
Phpとajaxを使って実装しているもので
あまり参考にできるものがなく
質問させていただきました。

追記
参考サイト
参考サイトのようなものを実装したいと考えています

fuelphpにてajaxを利用するというところは理解しているので
いいね!ボタンを実装するにあたってのサンプルコードがあるととても嬉しいです。

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

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

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

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

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

m.ts10806

2017/09/01 07:34

Fuelphpを利用した上での回答を得たいのであればタグに追加をお願いします。ajaxなど質問本文に含めているキーワードをタグ利用することでより沢山の人の目にとまるようになりますよ。また、自身が考えた仕様に沿って実装はしてみましたか?Fuelphpによるajaxについては調べればありそうなのですが。(具体的にどのような情報が欲しいのかも記載してください)
Tomak

2017/09/01 13:33

この質問は、タスクを丸投げしただけで、ご自分でソースコードを作成したわけではないように見えてしまいます。「参考サイト」はインストーラーもありますし、何がわからないのかがわかりません。
amaguri

2017/09/04 01:14

機能を実装するにあたったときのロジックの考え方を知りたかったです。。。
m.ts10806

2017/09/04 01:18

「という動きを想定していました」で書いている流れは仕様そのもの(詳細設計に近いくらいのまさにロジックです)ですよ。これにサンプルコードを、となるとサンプルどころか丸々ほぼそのまま答えになるのではないでしょうか。
amaguri

2017/09/04 01:19

わかりました。もう一度実装方法を調べてみてわからない場合にまた質問させていただきます。。
amaguri

2017/09/04 01:23

知りたかったのは「いいね」機能を実装する時の実装方法がわからず、自分が考えていた考えていた実装方法は世間的に実装されているいいね機能の実装と照らし合わせた時、こういう実装のが実用的等あればお聞きしたかったです
m.ts10806

2017/09/04 01:26

「実装方法を調べる」ではなく、「実装をする」という段階だと思いますよ。 Tomakさんが仰っているように何が分からないのかが分かりません。「そもそもFuelphpを利用した画面作成方法が分からない」となると「ajaxを利用するというところは理解」ということが怪しくなってきます。マニュアル読みましょうとしか回答が来ません。何が分かっていないか理解すること、それを正しく人に伝えることが大事です。
guest

回答1

0

質問内容とコメントから回答します。

HTMLにてボタンを作成

ボタンが押された時にajaxでphpを起動しDBにカウントを+1
処理後にボタンの色を変更
もう一度押された場合ajaxでphpを起動しDBにカウントを-1

仕様自体は間違っていないように思います。
まずそれで実装してみてください。

「世間的に実装されているいいね機能の実装」とありますが、
「必ずこうすればできる」「必ずこうしなければならない」というマニュアルは存在しないと思っていいです。
既に実装されているものの仕様や作りまで知ることはできません(その機能を開発している開発チームに参加すれば別ですが)
実際にできているものがあるのであれば、動かしてみ、その動きからどのようにすればできるか自分なりに仕様考えて、実際に作ってみて、というのが殆どだと思います。
私も同様の機能を作成したことはありますが、既にあるものの動きを参考にしただけで参考にした先の作りと全く一緒かどうかは知ることはできません。
想定どおりに同じような動きをすれば成果となるのでそれでOKとしています。

投稿2017/09/04 01:35

m.ts10806

総合スコア80850

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

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

amaguri

2017/09/04 06:18

ありがとうございます。一度実装してみたいと思います
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問