我有一个循环,它将数据库中的问题回显到一个形式中,在选择选项中具有预定答案,例如是、否、不确定。用户可以回答任意数量的问题,但必须至少回答一个问题。如何在提交表单时将问题和相应的选定答案回显给用户。
在这里,我从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> ".
在这里,我回应上述每个问题的预定可选答案
编辑我的表单头在 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>";}
}
}
我现在使用开发人员工具,在网络选项卡上,我不知道要关注什么。这就是我得到的,如果用户选择第一个两个选项 确认您的选择12未进行有效选择未进行有效选择未进行有效选择注册投注
<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="answerswer">
使用此 PHP 代码构造此表单
foreach($_POST['gm'] as $key => $answer){
if($answer != ''){
echo "your Question #" . $key . ' Answer is ' . $answer . PHP_EOL;
}
}
检查输出