2013-04-02 48 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