динамическое заполнение списка выбора из текстового файла - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть веб-сайт, который позволяет пользователю запрашивать базу данных, выбирая значения в трех раскрывающихся списках.

В настоящее время я заполняю список выбора, используя один текстовый файл.Однако дизайн изменился, и теперь мы хотим заполнить второй раскрывающийся список, используя запись, выбранную в первом раскрывающемся списке.Я знаю, что это не редкость, но я очень новичок в дизайне веб-сайтов и нуждаюсь в некотором руководстве.Я не сталкивался ни с одним примером, который использует простой текстовый файл и читает его так, как я сейчас.

Итак, когда пользователь выбирает приложение из первого списка выбора, соответствующая конфигурация должна быть загруженаво втором окне выбора.Для каждого приложения у меня есть файл конфигурации, связанный с ним e.g app1_config.txt, app2_config.txt и так далее.Я знаю, что мне нужно использовать некоторый прослушиватель событий, а затем можно использовать регистр переключателя, чтобы сопоставить имя приложения для исправления файла конфигурации, а затем прочитать файл так же, как я делаю сейчас.Может кто-нибудь, пожалуйста, помогите мне в этом.В большинстве примеров, которые я видел в Интернете, использовалось ajax/json/database и т. Д. Могу ли я действительно реализовать желаемую динамическую загрузку с минимальными изменениями в моем текущем подходе?Мне действительно нужно использовать все текстовые файлы для заполнения списка выбора.

например, App1_config.txt будет иметь такие записи, как:

config1
config2
config3
config4 

Вот что мой phpкод выглядит так:

<body>
<div id = header>
<div class = container> Database Query </div>
</div>
<div class = container>
<form action="""" method = "post">
//populating first dropdown using text file
<?php
 $filename='/path/to/the/text/file.txt';
 $eachlines =  file($filename, FILE_IGNORE_NEW_LINES);
?>
 <div id = param1>
 <p align="top"><b> Application: </b></p>

<select size=15 name = "App" required>
  <?php foreach($eachlines as $lines){ //add php code here
            echo "<option value='".$lines."'>$lines</option>";
        }?>
</select>
</p>
</div>
<?php
 $filename='db_report_cfg_string.txt';
 $eachlines =  file($filename, FILE_IGNORE_NEW_LINES);
?>
<div id = param2>
<p align="top"><b> Configuration: </b></p>

<select size=15 name = "Config" required>
  <?php foreach($eachlines as $lines){ //add php code here
            echo "<option value='".$lines."'>$lines</option>";
        }?>
</select>
</p>
</div>
//some code to populate another select list and provide email address (not shown here)


<?php
if(isset($_POST['submit'])){
  $varApp= $_POST['App'];
  $varConfig = $_POST['Config'];
  $varCtrType = $_POST['CtrType'];
  $varEmail = $_POST['mailid'];
//some processing based on values provided by user. 
exec("/py $varApp $varConfig $varCtrType 2>&1",$output );
if ($output[8] == "Empty"){
echo "<div style ='font:22px Arial,tahoma,sans-serif;color:#ff0000'><br>No Data Available! <br></div>";
}
else {
     exec(' printf "Please find attached the query result for following selection:\n\nApp: '.$varApp.'  \nConfig: '.$varConfig.' \nCounter Type: '.$varCtrType.' \n\n Thanks! "  | /bin/mail -s "Database Query Result" -a '.$output[8].' '.$varEmail.'  2>&1', $output2 ); 
echo "<div style ='font: 18px Arial,tahoma,sans-serif;color:#10ac84'><br><b> Please check your email for result !<b> <br>";
echo '<script language="javascript">';
echo 'alert("Please check your email for result! Submitted Query details: Selected App: '.$varAPP.' Configuration:")';
echo '</script>';
}
$_POST=array();

}
?>


</body>

Я очень ценю ваше руководство здесь.

...