Использование флажков ввода с базой данных - PullRequest
0 голосов
/ 09 августа 2011

Так что я пытаюсь помочь другу, написав его гильдии трекер посещаемости для рейдов и еще много чего. В настоящее время моя концепция состоит в том, чтобы сделать выбор * из столбца пользователя и установить флажок для каждого пользователя, предполагая, что этот человек появился на рейде, он пропустит через форму «1», и его посещаемость рейда будет увеличена на 1. На странице пользователей общая посещаемость будет рассчитываться как (raidAtt / raidsTotal) * 100 (с момента присоединения).

Моя проблема сейчас заключается в том, что я не знаю, как передать всю эту информацию, используя один цикл ...

Прямо сейчас мой код выглядит примерно так:

            <form action="raidattend.php" method="post">
            <?php 

                mysql_connect("$database",$username,$password);
                @mysql_select_db($database) or die( "Unable to select database");
                $query="SELECT * FROM attend WHERE UserName = $v_member ORDER BY date desc";
                $result=mysql_query($query);

                $num=mysql_numrows($result);

                mysql_close();
                ?>
            <table>
            <tr>
            <th>Member</th>
            <th>Attended?</th>
            </tr>   
            <?php
                $i=0;
                while ($i < $num) {
                $f1=mysql_result($result,$i,"UserName");
            }
            <tr>
            <td><?php echo $f1; ?></td><td input type="checkbox" checked value="1">

И вот тут я столкнулся с проблемами. Я не уверен, как передать каждого пользователя и результат флажок обратно в базу данных. Когда я понимаю, как это сделать, это так же просто, как увеличивать, но я довольно растерялся.

Спасибо за любую помощь!

Редактировать: Чтобы уточнить, в чем я не уверен, так это в том, как разбить его, чтобы каждый член обновлялся, я понимаю, что мне нужно использовать отправку и все такое.

Редактировать 2: Бродяга}

Ответы [ 2 ]

0 голосов
/ 09 августа 2011

Вы должны изменить свой флажок так, чтобы они все имели одно и то же имя (т.е. name = "member []"). Таким образом, когда вы отправляете свою форму, все отмеченные участники будут в $ _POST ['member']. Затем просто переберите $ _POST ['member'] и обновите таблицу.

<td><?php echo $f1; ?><td> <input type="checkbox" name="member[]" value=<?php echo "'$f1'"; ?> /></td>

Это должно дать вам список флажков с именами участников, которые присутствовали.

Вот краткий обзор того, как сделать обновление:

1. Просмотрите $ _POST ['member'] и увеличьте сумму, которую посетил человек:

 foreach($_POST['member'] as $member)
 {
    mysql_query("update table_name set attended=(attended+1) where username='$member'");
 }

2.После обновления каждого участника, который присутствовал, выполните обновление всей таблицы, чтобы увеличить общее количество совершенных рейдов:

mssql_query("update table_name set total=(total+1)");
0 голосов
/ 09 августа 2011

в форме:

<input type=checkbox name=selected[] value='" . $f1 . "'>

в raidattend.php:

$selected=$_POST['selected'];

while (list ($key,$val) = @each ($selected)) {

    //$val will hold the username

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...