[PHP-users 17784]Re: チェックボックスの複数選択について

矢野 豪 yano @ indexweb.co.jp
2003年 9月 9日 (火) 17:32:55 JST


矢野です。

チラッとこういうことかなと作ってみましたが。
コレではダメですか?
ちなみに数分で作ったので、チェックがなかったときにどうするとか一切関与し
てませんし、処理も煩雑できたないですが。


chtest.php
--------------------------
<?php
if($check){
  $i=0;
  while(sizeof($check[$i])){
   if($i==0){$hoge.="?";}
   else{$hoge.="&";}
   $hoge.="check".$i."=".$check[$i];
   $i++;
 }
 echo "hoge=".$hoge."<br>\n";;
}
?>
<html>
<body>
<form method="post" action="chtest.php<?php if($hoge && $hoge != "?")echo $hoge;?>">
<table>
<tr>
 <td>Check</td>
 <td>変数名</td>
 <td>値</td>
</tr>
<?php
 if(!$submit){
  for($i=0;$i<10;$i++){
   echo "<tr>\n";
   echo "<td><input type=\"checkbox\" name=\"check[]\" value=\"".$i."\"></td>\n";
   echo "<td>check</td>\n";
   echo "<td>".$i."</td>\n";
   echo "</tr>\n";
  }
 } else if($submit && $check){
  $i=0;
  while(sizeof($check[$i])){
   echo "<tr>\n";
   echo "<td colspan=\"3\">check[".$i."] = ".$check[$i]."</td>\n";
   echo "</tr>\n";
   $i++;
  }
  echo "<tr><td colspan=\"3\">以上を削除します</td></tr>\n";
 } else {
  $i=0;
  $custom_check="check".$i;
  while(sizeof(${$custom_check})){
   echo "<tr>\n";
   echo "<td colspan=\"3\">check".$i." = ".${$custom_check}."</td>\n";
   echo "</tr>\n";
   $check_value[${$custom_check}]=${$custom_check};
   $i++;
   $custom_check="check".$i;
  }
  for($i=0;$i<10;$i++){
   if($i != $check_value[$i]){
    echo "<tr>\n";
    echo "<td><input type=\"checkbox\" name=\"check[]\" value=\"".$i."\"></td>\n";
    echo "<td>check</td>\n";
    echo "<td>".$i."</td>\n";
    echo "</tr>\n";
   }
  }
 }
?>
<tr>
 <td colspan="3"><input type="submit" name="submit" value="submit"></td>
</tr>
</table>
</form>
</body>
</html>


PHP-users メーリングリストの案内