경고 :이 질문은 조금 길어질 수도 있습니다. 미리 사과드립니다.데이터베이스에 입력 체크 박스 사용하기 - 2 부
그래서 내 마지막 질문에 여기에 본 : "어떻게 여러 사용자에게 체크 박스와 공격대 출석 및 데이터베이스 루프를 관리합니까"하고 나는 shortrun에서 근무하는 솔루션을 가지고 있지만, 실패 : Using input checkboxes with a database 는 내가 질문을 장기 실행. 여기
이/급습 선택하는 사용자 루프를 실행하는 코드를 허용입니다 : 선택 /> 나는 데이터베이스에이를 추가 할 때, 나는 실제로 여기에 표시된 3 개 쿼리를 사용:
foreach($_POST['member'] as $member)
{
mysql_query("UPDATE attend set rAttend=(rAttend+1) WHERE UserName='$member'");
mysql_query("INSERT INTO attend set rDate =(CURDATE()) WHERE UserName='$member'");
mysql_query("UPDATE attend set rTotal=(rTotal+1) WHERE UserName='$member'");
}
각 사용자가 총들이 참석 공습의 양을 기반으로 할 수 있어야하기 때문에 나는 하나의 '총'을 사용하지 수 이유. 현재 페이지는 다음과 같이 표시됩니다 :
http://i.imgur.com/dwxLf.png
을 내가 (CURDATE()로) 날짜를 입력하고 점검 할 수있는 체크 박스를 선택했다는 사실에도 불구하고.
여기에 위의 내용을 표시하는 쿼리의 전체 코드입니다 : 그 누구도 날이를 디버그하는 데 도움 수 있다면 PHP/MySQL은 내가 가장 좋아하는 적이로
$query="SELECT rTotal FROM rAttend WHERE Username=('$v_member')";
$total=mysql_query($query) or die(mysql_error());
$query="SELECT * FROM rAttend WHERE UserName =('$v_member') order by UserName";
$result=mysql_query($query);
$num=mysql_num_rows($result);
?>
<center><h3><?php echo ($v_member)?>'s attendence record</h3></center>
<?php
$i=0;
$j=0;
while ($i < $num) {
$f1=mysql_result($result,$i,"rDate");
$f2=mysql_result($result,$i,"UserName");
$f3=mysql_result($result,$i,"rAttend");
?>
<tr>
<td><?php echo $f1; ?></td>
<td><?php echo '<a href="'.$f2.'.php">'.$f2.'</a>'; ?></td>
<?php if ($f3 == 1){
echo "<td>yes"; $j++;
}else{ echo "<td>no" ;} ?></td>
</tr>
<?php
$i++;
}
?>
<center>"Raid Attendence: "<?php echo ($j/$total)*100; ?> %</center><br />
</table>
, 내가 가장 감사 할 것 (긴 경고) 언어.
감사합니다.
편집 1 : 게시 된 코드가 약 30 % 단축되었습니다.
끔찍한 코드. 코드를 올바르게 형식화하고 질문에 필수적인 부분으로 잘라냅니다. 고마워. 2 톤. – Shef
@Shef 실제로는 들여 쓰기가 적절합니다. 아마도 if/else를 부끄럽게 생각할 것입니다. 또한 데이터베이스 세부 정보를 제공하고 싶지 않았기 때문에 약간의 이상한 점을 잘라내거나 붙여 넣었습니다. 나를 비난 할 수 있습니까? 또한 질문에서 제외 할 수있는 내용이 너무 많습니다. – HunderingThooves
업데이트 루프가 게시 한 루프와 다릅니다. mysql_query ("UPDATE 참석 집합 rTotal = (rTotal + 1) WHERE UserName = '$ member'");는 foreach 루프 외부에 있어야합니다. – Kyle