两个不同的单选按钮与一个表单和使用PHP发布它

时间:2017-08-06 00:47:40

标签: php html mysql mysqli radio-button

我坚持使用此代码,尝试发布2个不同的广播组我的问题是我想让用户检查1个单选按钮的4个结果,我的意思是我怎么知道用户何时选择其他,用此代码我总是可以选择多个收音机,有什么帮助吗?

                $sql = "SELECT * FROM tbl1 WHERE object = '".$obj."' LIMIT 5 ";
                $result2 = mysqli_query($conn,$sql);

              echo "<form action='' method='post'>";
                  while ($row2 = mysqli_fetch_array($result2,MYSQLI_ASSOC)) {

                    echo "<div align='center'>
                    <table class='demo'  dir='rtl'>
                      <tbody>
                      <tr>
                        <td>".$row2['ojs']."</td>
                        <td> </td>
                      </tr>
                      <tr>
                        <td>".$row2['txt1']."</td>
                        <td><input type='radio' name='chk1' value='1' >
                      </tr>
                      <tr>
                        <td>".$row2['txt2']."</td>
                        <td><input type='radio' name='chk2' value='2' >
                      </tr>
                      <tr>
                        <td>".$row2['txt3']."</td>
                        <td><input type='radio' name='chk3' value='3' >
                      </tr>
                      <tr>
                        <td>".$row2['txt4']."</td>
                        <td><input type='radio' name='chk4' value='4' >
                      </tr>
                      </tbody>
                    </table><br>
                    </div>
                    ";
                  }
                  echo "<input type='submit' name='submit'>
                  </form>";
                  if (isset($_POST['submit'])) {
                    $chk1 = $_POST['chk1'];
                    $chk2 = $_POST['chk2'];
                    $chk3 = $_POST['chk3'];
                    $chk4 = $_POST['chk4'];
                    echo $chk4."|".$chk3."|".$chk2."|".$chk1;

//insert into mysql , just the Selected radio button for each different question
$insQry = "insert into tbl2 (id,sel1,sel2,sel3,sel4) VALUES('$chk1','$chk2','$chk3','$chk4')";
if (mysqli_query($conn, $sql)) {
echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
                  }

2 个答案:

答案 0 :(得分:0)

您需要将整个adio输入组的名称设置为一个名称。由于您将它们设置为四个不同的名称,因此将它们视为四个不同的实体。

答案 1 :(得分:0)

你需要给它们相同的名字,然后在PHP中获取它,如

 $sql = "SELECT * FROM tbl1 WHERE object = '".$obj."' LIMIT 5 ";
            $result2 = mysqli_query($conn,$sql);

          echo "<form action='' method='post'>";
              while ($row2 = mysqli_fetch_array($result2,MYSQLI_ASSOC)) {

                echo "<div align='center'>
                <table class='demo'  dir='rtl'>
                  <tbody>
                  <tr>
                    <td>".$row2['ojs']."</td>
                    <td> </td>
                  </tr>
                  <tr>
                    <td>".$row2['txt1']."</td>
                    <td><input type='radio' name='chk' value='1' >
                  </tr>
                  <tr>
                    <td>".$row2['txt2']."</td>
                    <td><input type='radio' name='chk' value='2' >
                  </tr>
                  <tr>
                    <td>".$row2['txt3']."</td>
                    <td><input type='radio' name='chk' value='3' >
                  </tr>
                  <tr>
                    <td>".$row2['txt4']."</td>
                    <td><input type='radio' name='chk' value='4' >
                  </tr>
                  </tbody>
                </table><br>
                </div>
                ";
              }
              echo "<input type='submit' name='submit'>
              </form>";
              if (isset($_POST['submit'])) {
                $chk = $_POST['chk'];
                echo $chk;

然后只需将数据库中的相邻数字设置为选定的数字,将其他数字设置为0