1

ラジオ ボタンのテーブルを作成しました。ユーザーは各列に 1 つのラジオしか選択できません。
各列を同じ名前で呼びました。例:各行に20個のラジオがあるため、各列はb1、b2、b3、b4 ..... b20です。選択は機能していますが、データをphpページに送信して処理する必要があります。私の質問は次のとおりです。たとえば、@ b4 col 1 つのラジオを選択したかどうかを知る方法、彼がどの回線であるかを知る方法 (4 つしかありません)。
例

これは私のコードです:

$row = mysql_fetch_assoc($result);
echo "<table border='1'   cellspacing='0' cellpadding='0'>";
                        /** THEAD **/
    echo "<thead ><tr><th>".$StationHeader."</th>
    <th>".$OnlineStationHeader."</th>";
    for($k=1;$k<=20;$k++)
        echo "<th>".$k."</th>";
    echo "</tr></thead>";
                         /** THEAD **/
                         /** TBODY **/
    echo "<tbody>";
    for($i=1;$i<=4;$i++)
      {
       echo "<tr>";
       echo "<td>".$i."</td>";
       if($row['isWork']==1)
        echo "<td bgcolor='green'>ON</td>";
       else
        echo "<td bgcolor='red'>OFF</td>";
        for($j=1;$j<=20;$j++)
            {
                if($row['b'.$i.''])
                    echo "<td><input type='radio' name='b".$j."' selected/></td>";
                else
                    echo "<td><input type='radio' name='b".$j."' /></td>";
            }

        echo "</tr>";
        }
    echo "</tbody>";
                      /** TBODY **/
    echo "</table>";

各行は駅です (これはデータベース内のテーブルを表します)。データベース内のテーブルを更新したいと思います。

1.ボタンの命名方法を変更する必要がありますか?
2.送信時に、ラジオボタンが選択されている行を知るにはどうすればよいですか?

ps (まだフォームタグを挿入していません)。
ありがとう。

**編集 - コードを更新**

echo "<form name='bakara' action='updateBakara.php' method='post'>";



  echo "<table border='1' cellpadding='12'   cellspacing='0' cellpadding='0'>";
                        /** THEAD **/
    echo "<thead ><tr><th>".$StationHeader."</th>
    <th>".$OnlineStationHeader."</th>";
    for($k=1;$k<=20;$k++)
        echo "<th>".$k."</th>";
    echo "</tr></thead>";
    $j=1;

    while ($tableRow = mysql_fetch_assoc($result)) { // Loops 4 times if there are 4 returned rows... etc
        echo "<tr>";
        $i=0;

    foreach ($tableRow as $key => $value) { // Loops 22 times because there are 22 columns
    if($i>1){
    if($value==1)
                    echo "<td><input type='radio' name=b".$i." value=".$j." checked/></td>";
                else
                    echo "<td><input type='radio' name=b".$i." value=".$j." /></td>";
        }
    else{
    if($i==1)
        if($value==1)
        echo "<td bgcolor='green'>ON</td>";
        else
        echo "<td bgcolor='red'>OFF</td>";
    else
        echo "<td>".$value."</td>";

        }
        $i=$i+1;

}

$j=$j+1;
echo "</tr>";
}

    echo "</tbody>";
                      /** TBODY **/
    echo "</table>";
    echo "<input type='submit' value=".$SendButton." onclick='this.form.submit():'>";
        echo "</form>"; 

このフォームを送信すると、不明なインデックス b1、b2、b3、b4 のエラーが表示されます。コードに何か問題がありますか?

4

1 に答える 1

1

このパターンでラジオボタンの値を設定します

name="b1" value="1"   |   name="b2" value="1"   |   ....
name="b1" value="2"   |   name="b2" value="2"   |   ....
name="b1" value="3"   |   name="b2" value="3"   |   ....
name="b1" value="4"   |   name="b2" value="4"   |   ....

PHPで値を取得する

$b1_value = $_POST['b1'];
$b2_value = $_POST['b2'];

そしてあなたのデータベースを更新してください

于 2013-02-23T07:55:18.777 に答える