イベントページ - 出席または出席しない - これはどのように実装しますか?

私はこれら2つのボタンを私のウェブサイトのイベントページに追加する必要があります。

基本的には、他のイベントページと同様に、Facebook、 イベントに参加しているかどうかを言うオプションがあります。

また、ページには多数の人が出席するセクションがあります

私はこれに取り組むための最善の解決策を知りたいと思います。

私はあなたが私のためにそれをコーディングすることを求めているわけではなく、ちょうど私を正しい方向に向けることです。 ユーザーが出席をクリックすると、そのユーザー名またはIDがイベントが存在するデータベースに格納され、何らかの種類の配列形式で出席者フィールドに追加されるようなものを考えていました。出席しないことを選択した場合と同じですが、参加していない分野でも同じです。

2

3 答え

少なくとも user event エンティティの概念を持っていれば途中です。あなたが欠けているパズルの唯一のステップは、ユーザーが拒否されたかどうかを格納する attendance エンティティです。 - それぞれの user は、招待された各イベントに対して出席を持ちます。データベースという言葉では、これは多対多の関係です(ユーザーは多くのイベントに招待され、イベントには多くのユーザーが参加できます)。

3
追加された
データベーステーブルというよりも、実体を考える良い説明!
追加された 著者 Sebastian Wramba,
ありがとう!本当に役に立ちました。
追加された 著者 Ben Toms,

あなたの考えは良いと思う。 event_id user_id status の列を持つ event_attendants という名前のテーブルを持つことができます。キー)。それでおしまい。 status は3つ目のプロパティになる可能性があるので、facebookのようなステータスはいいいえわからない類似。

ボタン機能をAJAXで行うこともできるので、かなり簡単なUIです。

1
追加された
それに感謝します。私はそれを調べます!乾杯。
追加された 著者 Ben Toms,

私は rsvps または event_responses というテーブルを作成します。

3つの列があります。

  • user_id - ユーザーのpk値。
  • event_id - イベントのpk値。
  • 出席 - ブール値。

attending should be NOT NULL. That way the only data in the table is generated in two situations:

  1. ユーザーがイベントに参加することを示します。
  2. ユーザーがイベントに参加しないことを示します。

ユーザーが応答しなかった場合、そのイベントのテーブルには含まれません。あなたは「出席する」、「出席していない」、「まだ応答する」のカウントを簡単に得ることができます。

UI

jQueryを使用して、イベントページに「参加」と「参加しない」の2つのボタンを追加します。クリックイベントをそれぞれにバインドし、クリックするとAJAXリクエストを開始します。そうすれば、インターフェイスは応答性があります。

1
追加された
@BenToms絶対に!それはあなたが正しい方向を指し示しているのでしょうか、あるいはあなたが話したい別の作品がありますか?
追加された 著者 Jonathan,
@BenToms私はあなたが数百のイベントと何百ものユーザーに問題があるとは思わない。何百万というイベントとユーザーに問題があるかもしれないと思いますが、MySQLは何百というイベントで数百人のユーザーを確実に処理します。
追加された 著者 Jonathan,
ブリリアント。私には理にかなっています。どうもありがとう。
追加された 著者 Ben Toms,
私は大丈夫だと思う! 3つの答えがすべてここにあるので、私は今それを得ると思うので、私はそれを前にします。再度、感謝します。
追加された 著者 Ben Toms,
私はちょうど尋ねるかもしれません...これは出席する各人のために新しい行を作成するのだろうか?私はそれに取り組むことができますが、大規模な感覚(何百人ものユーザーがいる数百のイベント)をディスク上のデータに最大限に届けることができます。多分私はそれを誤解していますか?ありがとう。
追加された 著者 Ben Toms,
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com