用php生成选项的选定值
我想制作一个代码,演示如果我选择任何选项值并按下提交按钮,我选择的值应显示在选项框中。用php生成选项的选定值,php,Php,我想制作一个代码,演示如果我选择任何选项值并按下提交按钮,我选择的值应显示在选项框中。 代码是: <?php $myfile = fopen("cars_lab5.txt", "r") or die("Unable to open file!"); ?> 这是为了打开文件,因为我从文件中提取项目 <?php $index = 0; $val = $_GET['car']; //$selection = ""
代码是:
<?php
$myfile = fopen("cars_lab5.txt", "r") or die("Unable to open file!");
?>
这是为了打开文件,因为我从文件中提取项目
<?php
$index = 0;
$val = $_GET['car'];
//$selection = "";
for ($index=0 ; $index < 5 ; $index++){
$num = 0;
$line = fgets($myfile) . "<br>";
$slide = explode("|",$line);
//echo '<option value="' . $index . '">' . $slide[$num] . ' - ' . $slide[num+1] . ' euros';
if ($val==0){
echo '<option value="' . $index . '"' . $selection . ' selected">' . $slide[$num] . ' - ' . $slide[num+1] . ' euros'; }
else if ($val==1){
echo '<option value="' . $index . '"' . $selection . ' selected">' . $slide[$num] . ' - ' . $slide[num+1] . ' euros'; }
else if ($val==2){
echo '<option value="' . $index . '"' . $selection . ' selected">' . $slide[$num] . ' - ' . $slide[num+1] . ' euros'; }
else if ($val==3){
echo '<option value="' . $index . '"' . $selection . ' selected">' . $slide[$num] . ' - ' . $slide[num+1] . ' euros'; }
else if ($val==4){
echo '<option value="' . $index . '"' . $selection . ' selected">' . $slide[$num] . ' - ' . $slide[num+1] . ' euros'; }
}
fclose($myfile);
?>
当我使用此代码时,一切正常,但如果我选择第三个选项并按“提交”按钮,选项框上会再次显示第一项,而不是我选择的内容。您已使用“已选”标记设置所有选项,因此浏览器将默认显示最后一个选项 您需要从echo语句中删除“selected”字符串,并在某处配置$selection变量:
$selection=($index==$val?'selected':null)
您根本不需要if/else语句
所以你只有一句话:
echo '<option value="' . $index . '"' . $selection . '">' . $slide[$num] . ' - ' . $slide[num+1] . ' euros';
echo'WTF是指如果if
。你在打印同样的东西。你能用我的风格重新组织我的代码吗?我无法将你的代码嵌入到我的代码中,我出错了@请参见编辑。虽然您需要测试其余的代码,但我的答案是针对您关于select元素的问题的。解析错误:语法错误,在/home1-2/b/buraku/public_html/E-commerce/technology.php第216行的/home1-2/b/public_-html/E-commerce/technology.php中出现意外的“echo”(T_echo),我在复制您的选择代码行时犯了这个错误;我已将其添加到应答器中,我嵌入了您的代码,效果很好,但每次第一个元素出现时,选项框仍会显示:)
<?php
$index = 0;
$val = $_GET['car'];
//$selection = "";
for ($index=0 ; $index < 5 ; $index++){
$num = 0;
$line = fgets($myfile) . "<br>";
$slide = explode("|",$line);
$selection=($index==$val?'selected':null);
echo '<option value="' . $index . '"' . $selection . '">' . $slide[$num] . ' - ' . $slide[num+1] . ' euros';
}
fclose($myfile);
?>