当选择选项改变时执行脚本



我有一个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注入,但这不是重点。

你需要在SELECT选项上定义一个onchange事件,在这个onchange事件中,你可以重定向到另一个带有所选项目的页面,或者对另一个PHP脚本进行AJAX调用

不幸的是,如果没有JavaScript,您所要求的是不可能的。PHP是一种服务器端语言,因此如果没有客户端浏览器的调用就无法运行。您最好的选择是将ajax与JavaScript onchange事件结合使用。当发生更改事件时,向服务器触发一个ajax调用,以运行带有所选选项的脚本。这是在不重载或重定向页面的情况下完成请求的唯一方法。

最新更新