в PHP создать выбор в списке опций из CSV-файла - PullRequest
0 голосов
/ 19 мая 2018

У меня есть CSV-файл, который создает список опций выбора.

после отправки выбранной опции очищается.Как я могу сохранить опцию в выборе?

CSV ФАЙЛ:

"Agusta Westland 109s",A109,2,Turbine,IFR,7,155,4,250,2500
"Bell 427",B427,2,Turbine,VFR,7,140,5,200,2000
"Eurocopter AS355 Ecureuil",Squirrel,2,Turbine,VFR,5,120,5,180,1800
"Eurocopter EC130 B4",EC130,1,Turbine,VFR,6,120,4,140,2500
"Robinson R22",R22,1,Piston,VFR,1,90,8,50,300
"Robinson R44 Raven 2",R44,1,Piston,VFR,3,110,6,75,1100

КОД PHP:

echo "<form method='post' action=''>";
if (!file_exists('types.csv')) {
    exit("Your Types file doesn't exist");
} else {
	$types = array_map('str_getcsv', file('types.csv'));
	$aircraftTitles = array("Aircraft");
	echo "<table class='table'>";
	echo "<tr>";
    foreach ($aircraftTitles as $row){ 	
    	echo "<th>".$row."</th>";
	}
	echo "</tr>";
	echo "<tr>";
	//select type 
	echo "<td><select name = 'type'>";
	echo "<option value='".null."'>Select Aircraft Type</option>";
    foreach ($types as $row){ 
    	echo "<option value='".$row[1].",".$row[6].",".$row[7].",".$row[8]."'>".$row[1]."</option>";
    }
    echo "</select></td>";
    echo "<tr>";
echo "</table>";
}

большое спасибо за любую помощь

1 Ответ

0 голосов
/ 19 мая 2018

Вам нужно запустить значение из $ _POST для всех значений массива.Если это соответствует, выберите в качестве выбранного варианта.Если он не совпадает, просто покажите опцию.

Как это:

echo "<form method='post' action=''>";
if (!file_exists('types.csv')) {
    exit("Your Types file doesn't exist");
} else {
    $types = array_map('str_getcsv', file('types.csv'));

    $aircraftTitles = array("Aircraft");
    echo "<table class='table'>";
    echo "<tr>";
    foreach ($aircraftTitles as $row){
        echo "<th>".$row."</th>";
    }
    echo "</tr>";
    echo "<tr>";
    //select type
    echo "<td><select name = 'type'>";
    echo "<option value='" . null . "'>Select Aircraft Type</option>";

    foreach($types as $row) {

          $str = $row[1]. "," .$row[6] . "," . $row[7] . "," .$row[8];
          if($_POST['type'] == $str) {

            echo  '<option value="' . $str . '"' . ' selected="selected"' . '>' . $row[1] . '</option>';

          }else {

            echo  '<option value="' . $str . '">' . $row[1] . '</option>';

          }

     }

    echo "</select></td>";
    echo "<tr>";
echo "</table>";

}
...