如何使用php回答问题循环中的选定选项

我有这个循环,将数据库中的问题回显到选择选项中具有预定答案的表单,如是,否,不确定.除了必须回答至少一个问题外,用户可以回答任何问题.如何在提交表单时将问题和相应的选定答案回复给用户.

在这里,我从dbase检索问题

<form method="post" action="">
<?php         
    $sql = 'SELECT starttime, country,league, home, away,gamecode 
    FROM games 
    WHERE starttime > DATE_FORMAT(NOW(),"%d/%m/%y %H:%i") 
    ORDER BY starttime' ;
    $retval = mysql_query($sql);
    if(! $retval )
    {
      die('Could not get games for the date selected: ' . mysql_error());
    }

    while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
    {

在这里,我向用户回答这个问题

 echo "{$row['country']} | {$row['league']} | Time:{$row['starttime']}  <br> ". 
  "<div align='center'><span class='style3'>{$row['home']} VS ".
         "{$row['away']} <br> ".

在这里,我回答上述每个问题的预定可选答案

EDITED
//我的表头是在sql查询之上的某个地方

     "<select name='gm" . $row['gamecode'] ."' >
         <option value=''>Select option</option>
    <option value='btsyes'>BTS (YES)</option>
    <option value='btsno'>BTS (NO)</option>
    <option value='over2.5'>Over2.5(Total Goals)</option>
    <option value='under2.5'>Under 2.5(Total Goals)</option>
    <option value='oddtg'>Odd(Total Goals)</option>
    <option value='eventg'>Even(Total Goals)</option>
    </select></span></div>".
             "<hr>";
    } 

?>



 <input type="submit" name="play" value="Register Bet" />
    </form></div>

所有上述工作都很好,但在这里我想回答问题和选择回答给用户确认的答案

这是我尝试的

 if (isset($_POST ['play'])){
echo "Confirm Your Selection </br>";
foreach ($_POST as $key => $value ) {
  if($value !=''){   

      echo $key."-".$value;
           echo "<br>";
     }else{ echo "No valid selection Made <br>";}
    }
}

我现在使用开发人员工具,并在网络选项卡上,我不知道要关注什么exacly.
如果用户选择第二个选项确认您的选择,这就是我得到的
1
2
没有有效的选择Made
没有有效的选择Made
没有有效的选择Made
注册投注

最佳答案

<select name= 'gm[]'>
         <option value='so'>select option</option>
<option value='btsyes'>BTS (YES)</option>
<option value='btsno'>BTS (NO)</option>
<option value='over2.5'>Over2.5(Total Goals)</option>
<option value='under2.5'>Under 2.5(Total Goals)</option>
<option value='oddtg'>Odd(Total Goals)</option>
<option value='eventg'>Even(Total Goals)</option>
</select>

通过执行gm [],你说这个值是一个数组.你可以在$_POST [‘gm’]下设置多个值

额外

默认情况下,您的表单将发送所有选择,如果未提供默认值,则将选择并传输第一个值.为了避免这种情况,只需按照检查是否值进行操作!=”

<select name="gm"><option value=''>Choose your Answer</option></select>

如果用户没有选择”将传递空字段,您可以跳过它.

编辑#2工作副本

<form action="" method="POST">

<select name='gm[firstQuestion]'>
    <option value=''>Select Please</option>
    <option value='Foo'>Foo</option>
    <option value='Bar'>Bar</option>
    <option value='Zoo'>Zoo</option>
    <option vlaue='Park'>Park</option>
</select>
<br>
<select name='gm[secondQuestion]'>
    <option value=''>Select Please</option>
    <option value='Foo'>Foo</option>
    <option value='Bar'>Bar</option>
    <option value='Zoo'>Zoo</option>
    <option vlaue='Park'>Park</option>
</select>
<br>
<select name='gm[thidQuestion]'>
    <option value=''>Select Please</option>
    <option value='Foo'>Foo</option>
    <option value='Bar'>Bar</option>
    <option value='Zoo'>Zoo</option>
    <option vlaue='Park'>Park</option>
</select>
<br>
<input type="submit" value="answer">

使用此PHP代码构造此表单

foreach($_POST['gm'] as $key => $answer){
    if($answer != ''){
        echo "your Question #" . $key . ' Answer is ' . $answer . PHP_EOL;
    }

}

检查输出

点赞