php - 我如何使用 php 从一系列问题中回显选定的选项

标签 php html

我有一个循环,可以将数据库中的问题回显到一个表单中,并在选择选项中提供预先确定的答案,例如是、否、不确定。用户可以回答任意数量的问题,但必须至少回答一个问题。我如何在提交表单时将问题和相应的选定答案回显给用户。

这里我从数据库中检索问题

<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> ".

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

已编辑 //我的表单头在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个 没有做出有效的选择 没有做出有效的选择 没有做出有效的选择 注册投注

最佳答案

<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;
    }

}

检查输出

关于php - 我如何使用 php 从一系列问题中回显选定的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30762845/

相关文章:

php - MySQL 中带有问号而不是瑞典字符的菱形/菱形

php - 在 Laravel 5 中,为什么在 phpunit 测试期间调用 Request::root() 不同?

html - 没有连接到模型或链接的 rails 形式

html - 对齐单选按钮 Bootstrap 的问题

html - 相对 DIV 宽度和高度

php - 使用 curl 获取 url 响应的值

Apache 2.4 + PHP-FPM 和授权 header

php - 如何从 slim Rest API 函数重定向到 codeigniter Controller 函数?

javascript - && 正在破坏 WordPress 中的页面

java - 我想通过jsp中的数据库动态设置单选按钮的值但无法