2013-04-02 50 views
0

我有一個包含動態創建的dorpdown列表的html表單。下拉列表包含存儲在我的MySQL數據庫中的新聞簡報的名稱。我想要的下拉列表是:當我選擇一個時事通訊時,其他的PHP腳本將激活,這將從我的數據庫中的通訊採取數據,並將其寫入.txt文件。我目前擁有的代碼是:選擇選項更改時執行腳本

的下拉列表:

<?php 
    echo "<select id=\"NieuwsbriefSelect\" name=\"show\">"; 
    echo "<option size =30 selected>Select</option>"; 
    if(mysql_num_rows($sql_result)) 
    { 
    while($row = mysql_fetch_assoc($sql_result)) 
    { 
    echo "<option value=\"$row[Titel]\">$row[Titel]</option>"; 
    } 

    } 
    else { 
    echo "<option>No Names Present</option>"; 
    } 
?> 

和寫腳本:

<?php 
$title = $_REQUEST["show"]; 
mysql_connect('localhost','root','root'); 
mysql_select_db('NAW') or die (mysql_error()); 
$strSQL = "SELECT Content from NAW.Mail where Titel = '$title' "; 

$sql_result = mysql_query($strSQL); 

$row = mysql_fetch_assoc($sql_result); 


$file = 'nieuwsbrief.txt'; 

$current = $row["Content"]; 

file_put_contents($file, $current); 
?> 

我不想讓頁面重定向到寫劇本,但只是執行它(我希望你得到這個^^)。這可能使用HTML onChange事件或我必須使用JavaScript?任何幫助都會很棒,如果您對我的代碼有疑問,請在評論中提問!

注意!
我知道我不應該使用Mysql_ *並且我很容易受到sql注入的影響,但這不是重點。

+0

那麼,從技術上講,HTML onChange事件是Javascript。在任何情況下,當選擇的項目發生更改時,可以通過調用Javascript函數來實現這一點。在那個函數中,你可以使用apropiate參數來調用你的PHP腳本。我知道你已經提到你已經意識到這樣的事實,即你傾向於使用SQL注入,但是在開發過程中你應該真的牢記這一點。 – FLClover

回答

0

你需要在你的SELECT選項定義onchange事件,這onchange事件裏面,你可以重定向到另一個頁面,選擇的項目或做一個AJAX調用另一個PHP腳本

0

不幸的是你問是不是可能沒有JavaScript。 PHP是一種服務器端語言,因此無法在沒有來自客戶端瀏覽器的調用的情況下運行。最好的辦法是將ajax與JavaScript onchange事件結合使用。發生更改事件時,向服務器發出ajax調用,以使用所選選項運行腳本。這是在沒有頁面重新加載或重定向的情況下完成所要求的唯一方法。

+0

Thnx爲您的迴應!我會看看AJAX,看看我能得到多少^^ – Daanvn