0

グループのメンバーを更新しているリーダーがいるグループがあります。ロールIDが11のメンバーは保留中であり、ドロップダウンで選択したオプションに応じてロールIDを変更したいと思います。

フォームは次のとおりです。

<form action='updatePendingMembers.php' method='post' onsubmit='return checkForm()'>
    <?php
    $pendingMembers = "SELECT m.id, concat(fname, ' ', lname) as mName, email, m.rolesID FROM member m join member_to_groups on m.id = member_to_groups.memberID left join groups on member_to_groups.groupsID = groups.id WHERE m.rolesID = 11 AND groups.memberID = " . $_SESSION['siteMemberId'];
    $rsPendingMembers = mysql_query($pendingMembers);
    //if(!$rsPendingMembers)
        //echo 'the query is: ' . $pendingMembers . '<br/>and the error: ' . mysql_error();
    while($get_row = mysql_fetch_assoc($rsPendingMembers)){
    ?>
    <tr>
      <td colspan="3" class="Sub_Header">Pending Group members</td>
    </tr>
    <tr>
      <td colspan="3"><span class="Maintext"><?php echo $get_row['mName']?></span>
    <select name="rolesID" class="lowermenu" id="rolesID">
        <option value="12">Accept</option>
        <option value="11">Decline</option>
    </select>
      <a href="mailto:<?php echo $get_row['email']?>"><span class="lowermenu">send pending member message</span></a></td>
        </tr>
    <?php } ?>
    <td><span class="Sub_Header">
        <input name="update_pending_member_button" type="submit" id="update_pending_member_button" value="Update Member">
      </span></td>
      </form>

これまでのupdatePendingMembers.phpファイルは次のとおりです。

<?php
session_start();
include("global.php");
$myQuery1 = "UPDATE member SET rolesID = " .  mysql_real_escape_string($_POST['rolesID']) WHERE id = ;
$rs1 = mysql_query($myQuery1);
?>

選択された特定のグループのメンバーと同じIDを設定するにはどうすればよいですか?ありがとう。

4

1 に答える 1

1

フォーム要素に配列のような名前を使用します。

<select name="rolesID[<?php echo $get_row['id']; ?>]" class="lowermenu" id="rolesID">
    <option value="12">Accept</option>
    <option value="11">Decline</option>
</select>

データ$_POSTは次のようになります。

$_POST['rolesID'] = array(
   '1' => '11',
   '2' => '12'
);

それを反復して、すべてのレコードを更新できます。

foreach ($_POST['rolesID'] as $id => $role) {
    $id = (int)$id;
    $role = (int)$role;
    $sql = "UPDATE member SET roleID = {$role} WHERE id = {$id}";
}
于 2013-01-10T21:23:58.803 に答える