从php和.dat填充一个下拉列表


Populate a dropdown list from php and .dat

我试着在SO上搜索这个,也通过谷歌搜索,但提到的选项到目前为止还没有工作。我不会说代码写得不对,它可能只是我做设置的方式,这是错误的。但我已经尝试了不同类型的解决方案,但到目前为止,它仍然不起作用。

只是一个快速的信息提示,我是一年级的IT学生,我们还没有开始学习MySQL。

这是目前为止我的索引的样子:

    window.onload = oppstart;
var xmlhttp;
function oppstart() {
  document.getElementById("registrer").onclick = lagre;
}
function lagre(){
  var nedtrekksliste = document.getElementById("nedtrekksliste").value;
  var navn = document.getElementById("navn").value;
  var epost = document.getElementById("epost").value;
  xmlhttp = new XMLHttpRequest();
  xmlhttp.onreadystatechange = statusforandring;
  var url = "registrer.php?nedtrekksliste=" + nedtrekksliste + "&navn=" + navn + "&epost=" + epost;
  xmlhttp.open("GET",url,true);
  xmlhttp.send();
  function statusforandring(){
    if (xmlhttp.readyState === 4 && xmlhttp.status === 200){
      document.getElementById("utskrift").innerHTML = "Du har nå registert påmelding til en av våre presentasjoner. Takk og ha en fin dag videre hilsen Enigma!";
    }
  }
}

我是这样写我的PHP的:

  $nedtrekksliste = $_GET["nedtrekksliste"];
  $navn = $_GET["navn"];
  $epost = $_GET["epost"];
  $linje = $nedtrekksListe . "¤" . $navn . "¤" . $ePost . "¤" . "'n";
  $fil = fopen("data.dat", "a");
  fwrite = ($fil, $linje);
  fclose ($fil);
  echo "Du har nå registrert emnevalg, takk!";

最后,这是我试图填充到下拉列表中的数据内容,而我想要的信息是一个。dat文件格式:

812¤SuperIT¤2016-12-06 18:00¤25¤
135¤OddIT¤2016-01-10 17:25¤10¤
614¤MediaHuset¤2016-12-14 16:15¤67¤
1337¤Elite¤2017-02-22 15:45¤31¤
135¤ParIT¤2016-03-17 18:30¤7¤
147¤L2P¤2017-01-10 20:00¤5¤

我得到的任务是创建一个注册表单,用于选择学生想要参加的演示文稿的一个选项。我已经固定了注册按钮和2x输入文本区域,这是为了让学生写他们的名字和电子邮件。所以我似乎无法解决下拉列表的问题

在php中读取文件非常简单,如果您的索引是html和php的混合,您可以读取data.dat并从html中构建SELECT,如下所示:

index . php

<select name="presentations">
        <?php
            // path to your file ( in this case, both files within same dir)
            $filename = "data.dat";
            // open the file in read only monde
            $file = fopen( $filename, "r" );
            // get the file size, read and store the content in '$fileText'
            $filesize = filesize( $filename );
            $filetext = fread( $file, $filesize );
            // seperate the content of the data file into an array of lines
            $lines = explode("'n", $filetext);
            // loop through every line  
            for ($i = 0; $i < sizeof($lines); $i++) {
                // seperate this line according to the seperator '¤'
                $members = explode("¤", $lines[$i]);
                // we can now access the individual members of this line
                $id = $members[0];
                $name = $members[1];
                $datetime = $members[2];
                $room = $members[3];
                // outputs a 'Option' element inside the SELECT of our HTML page
                echo '<option value="'. $id . '">' . $name . '</option>';
            }
        ?>
</select>

如果你的索引只是HTML,你可以用PHP构建一个JSON对象,然后(以类似的方式)用javascript构建SELECT。

然后,你需要完成你的javascript来获得选择的演示:

functions.js

<script type="text/javascript">
    // SELECT element on HTML page
    var selected = document.getElementById("presentations");
    // storing the ID of the selected field
    var ID_presentation = selected.options[selected.selectedIndex].value;
    // OR
    // storing the name
    var ID_presentation = selected.options[selected.selectedIndex].text;
</script>