用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);
        ?>