2016-11-15 138 views
0

我試過在SO上搜索這個,也是通過Google,但是提到的選項目前還沒有工作。我不會說代碼編寫不正確,它可能就是我完成設置的方式,這是錯誤的。但我已經嘗試了不同類型的解決方案來解決這個問題,但到目前爲止它仍然無法正常工作。從php和.dat填充下拉列表

只是一個快速的信息提醒,我是第一年的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¤ 

我得到的任務是創建一個reg用於選擇學生希望參加的演講的選項之一。我已經修復了註冊按鈕和2個輸入文本區域,這些區域是供學生寫他們的姓名和電子郵件的。所以我似乎無法解決下拉列表問題。

回答

0

閱讀PHP中的文件是相當簡單的,如果你的指數是HTML和PHP的組合,你可以閱讀data.dat文件,並從HTML本身內部構建選擇:

的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。

然後,您需要填寫您的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> 

我希望這可以幫助你。

+0

非常感謝所有支持!我用第一種方法解決了下拉列表問題。我還發現,我編寫代碼的方式是讓用戶寫入新的.dat文件。 –