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

时间:2015-06-10 17:04:03

标签: php html

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

在这里,我从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>";}
    }
}

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

1 个答案:

答案 0 :(得分:2)

<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']

下设置多个值

其他

默认情况下,您的表单将发送所有选择,如果未提供默认值,则将选择并传输第一个值。为避免这种情况,请按照检查value != ''

时的操作进行操作
<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;
    }

}

检查输出