选择多个用户并向他们发送邀请

时间:2012-02-16 12:56:30

标签: php javascript jquery mysql

我很抱歉,如果有一个类似的帖子,我还没有找到,我只能看到Facebook API。如果您知道某个帖子,请指出我正确的方向,谢谢。

我想要做的是......

允许用户通过从列表中选择任何成员(多个选择,可能使用JQuery)并发送邀请来邀请任何成员加入他/她的活动。

我理解我所拥有的理论......

  1. 让用户列表动态显示在表中(我知道该怎么做)

  2. 允许选择每个用户。 (不知道如何在JQuery中这样做)

  3. 然后,当您单击某个用户时,他们的用户ID将被放入一个数组中 某种(可能需要帮助)

  4. 然后,当提交邀请按钮时,将id放入名为的数据库表中 邀请以及他们被邀请参加的活动的ID。 (我知道该怎么做)

  5. 我已经看过jquery.com但是因为我不是一个专家,我不确定我需要做什么。如果您还需要了解其他信息,请询问。

    非常感谢任何帮助,谢谢。

    编辑:应该添加,我的数据库是MySQL,我用PHP编码。

1 个答案:

答案 0 :(得分:2)

创建表单元素,将表格放在表单中。在每个表行td上创建复选框。复选框值是用户ID的值。

使用Jquery序列化复选框并将序列化表单提交到php脚本以执行后端腿部工作...

  $('#submit-form-button').click(function(){
    var checkboxes = $('.checkboxes').serialize();
    $.ajax({
      url: 'processInvites.php',
      dataType: "json",
      data: {checkBoxes: checkboxes},
      success: function(data){
        console.log("Form was successful");
      },
      error: function(data){
        console.log("Form was a failure");
      }
    });
  });

使用PHP爆炸序列化数组.. 请注意,你可以在php手册中引用urldecode(),它在手册底部有一个类似的声明,就在评论之前.. http://php.net/manual/en/function.urldecode.php

$c = explode('&', $_POST['checkBoxes']);
$i = 0;
while ($i < count($c)){
  $b = explode('=', $c[$i]);
  $checkBox[] = urldecode($b[1]);
  $i++;
}

并验证它是否存在于db ..

$listOfUsers = //SQL HERE TO GET ARRAY OF USERS IDs IN KEY => VALUE FORM.

foreach ($checkBox as $c){
  if(in_array($c, $listOfUsers){
    //INSERT USER ID IN INVITATIONS TABLE
    //SQL HERE, MAKE SURE TO XSS FILTER YOUR POST INPUTS
  }else{
    //User isnt in database, do something else. 
    // don't return false or fail because you want to continue processing
    // write to a log file?
  }
}

我没有对此进行测试,但我使用完全相同的概念用于选择&#34;类别&#34;的列表的不同应用。并从db中撤回与该类别ID相等的行..