2011-08-09 5 views
0

그래서 길드와 기타 등의 길잡이를 작성하여 친구를 도와 주려고합니다. 지금 당장 내 개념은 사용자 컬럼에서 select *를 수행하고 각 사용자에 대한 체크 박스를 만든다. 사용자가 습격 한 것으로 가정하고, 폼을 통해 "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 : 길 잃은} 양식

답변

0

당신은 당신의 체크 박스를 변경해야합니다 (예 : name = "member []"). 이렇게하면 양식을 제출할 때 확인 된 모든 회원이 $ _POST [ 'member']에 있습니다. 그런 다음 $ _POST [ 'member']를 반복하고 테이블을 업데이트하십시오.

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

참석 한 회원의 이름이있는 체크 박스 목록을 제공해야합니다. $ _POST를 통해

1.Loop [ '회원']와 사람이 참석 한 금액 증가 :

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

2.After을 여기

업데이트를 수행하는 방법에 대한 개요입니다 당신이 일어난 공습의 총 수를 증가하기 위해 전체 테이블에 업데이 트를 수행 참석 한 각 멤버를 업데이트하지만

mssql_query("update table_name set total=(total+1)"); 
+0

우수한 대답, 조금 APPEND 등을, 당신은 생에있는 작은 구문 오류가 s : ?> /> 당신은 PHP에서 확인란을 닫습니다. 그것 이외에, 그것은 잘 작동합니다. 엄청 고마워! 나중에이 일이 일어날 수있는 사람들을 위해 : 나는 그것을 다음과 같이 수정했다 : /> 다시 한번 감사드립니다! – HunderingThooves

+0

지적 해 주셔서 감사합니다. 기쁜 데 도움이되었습니다. 나는 또한 나의 포스트에 정정을 만들었다. – Kyle

0

: raidattend.php에

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

: 그들은 모두 같은 이름을 가질 수 있도록

$selected=$_POST['selected']; 

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

    //$val will hold the username 

} 
관련 문제