Как динамически изменить URL-адрес для графов через HTML-форму и раскрывающееся меню - PullRequest
0 голосов
/ 13 мая 2018

Буду очень признателен, если кто-нибудь сможет мне помочь. Я очень старался найти решение, но безрезультатно из-за моих ограниченных навыков. Вот сценарий: У меня есть скрипт на python, который выводит температуру, давление и влажность с датчика, подключенного к Raspberry Pi. Этот же сценарий также сохраняет показания в файл .CSV, в котором в качестве имени файла указана дата, так что у меня каждый день есть уникальный файл с данными за полный день. Я реализовал на странице PHP библиотеку диаграмм JavaScript с открытым исходным кодом, чтобы построить показания:

ссылка на библиотеку dygraphs.com

Также на той же странице PHP я могу выбрать из выпадающего меню упомянутые выше файлы .CSV. Для этого я использовал конструкцию foreach.

В любом случае, пожалуйста, смотрите ниже мой код PHP:

<html>
<center>
   <iframe width="800" height="600"  src="http://SERVER_IP_ADDRESS/graphs.php" frameborder="0" allowfullscreen="" scrolling="no$
</center>
<head>
<script type="text/javascript"
<script src="//cdnjs.cloudflare.com/ajax/libs/dygraph/2.1.0/dygraph.js"></script>
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/dygraph/2.1.0/dygraph.css" />
</head>
<body>
<div id="graphdiv2"
  style="width:700px; height:500px;"></div>
<script type="text/javascript">
  g2 = new Dygraph(
    document.getElementById("graphdiv2"),
     "20180508.csv", // path to CSV file
    {rollPeriod: 7,
      showRoller: true}                   // options
  );
</script>
</body>
</html>
</head>

<body>
<?php
$filename = 'CSV_index.txt';
$eachlines = file($filename, FILE_IGNORE_NEW_LINES);
?>
<form method="post" action="">
        <select name="menu">
            <option selected value="base">Please Select</option>
           <?php foreach($eachlines as $lines){ //add php code here
                echo "<option value='".$lines."'>$lines</option>";
            }?>
        </select>

 <button type="submit" name="submit" >Submit</button>

 </form>

<?php
if(isset($_POST["submit"]))
{

$selected_value=$_POST["menu"];

?>

Теперь это то, чего я хотел бы достичь: выбрав файл .CSV из выпадающего меню, я бы хотел, чтобы он автоматически отображался в строке ниже:

"20180508.csv", // path to CSV file

Здесь библиотека находит путь к файлу .CSV для построения графика. Поэтому, выбрав конкретный .CSV, я смогу построить соответствующий график для определенного дня.

Я пробовал следующее, но, конечно, оба не работали:

"$selected_value", // path to CSV file

"'$selected_value'", // path to CSV file

Заранее большое спасибо за добрую водоросль.

1 Ответ

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

РЕШИТЬ!После многих чтений мне удалось решить мою проблему.Код ниже сделал свое дело:

<?php
'echo $selected_value;'
?>
...