用php选择选项值

时间:2014-11-15 13:21:22

标签: php

我想制作一个代码,演示如果我选择任何选项值并按下提交按钮,我选择的值应该在选项框中看到。
代码是;

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



当我使用此代码时,一切正常但如果我选择第三个选项并按下提交按钮,则再次在选项框中看到第一个项目而不是我选择的项目。

1 个答案:

答案 0 :(得分:1)

您已使用“已选择”标记设置所有选项,因此浏览器会默认显示最后一个选项。

您需要从echo语句中删除'selected'字符串并在某处配置$ selection var:

$selection=($index==$val?'selected':null)

根本不需要if / else语句。

所以你只需要一行:

echo '<option value="' . $index . '"' . $selection . '">' . $slide[$num] . ' - ' . $slide[num+1] . ' euros'; 

编辑包括根据评论的示例 您的示例代码如下所示:

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