[英]Execute a php file with javascript onchange
我有一個動態創建的dorpdown列表,用戶可以在其中選擇新聞稿。 我正在嘗試使其工作,因此當您從下拉列表中選擇某些內容時,將執行php文件。 我的下拉列表如下所示:
<?php
echo "<select id=\"NieuwsbriefSelect\" name=\"show\" onchange=\"what do I do here??? \">";
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文件看起來像這樣:
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);
?>
<?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 = urldecode($row["Content"]);
file_put_contents($file, $current);
?>
當前是這樣的:$ title = $ _REQUEST [“ show”]; 無法正常工作,並給出錯誤未定義索引:顯示。 所以基本上我有兩個問題:
-選擇簡訊后,如何執行php文件?
-如何根據我選擇的新聞通訊從數據庫中獲取正確的數據?
我已經嘗試了一些在其他論壇等地方找到的示例的方法,但是由於我幾乎沒有使用javascript的經驗,因此無法進行任何工作。 如果有人能給我一個例子或向正確的方向推我,那將是很棒的! 如果您還有其他問題,請以評論為准!
注意我知道mysql_ *已過時,一旦一切正常,我將更改為PDO!
在這條線
echo "<select id=\"NieuwsbriefSelect\" name=\"show\" onchange=\"what do I do here??? \">";
您應該將JavaScript代碼放在onchange=""
屬性中。
例如,您可以調用一個函數,將其命名為changeSelect()
,它將(我認為)加載php文件的內容。 您可以通過Ajax完成。 我將不做更多解釋,因為該主題涉及面很廣,您需要進行更多研究。
我建議,如果您將更改為PDO或mysqli,則可以通過$_GET
(而不是$_REQUEST
)傳遞titel
變量。 例如,您的changeSelect()
函數可以通過"myfile.php?titel="+document.getElementById("NieuwsbriefSelect").value
或類似名稱來調用您的php文件(例如:“ myfile.php”)。
使用ajax的簡單方法。
<?php
echo "<select id=\"NieuwsbriefSelect\" name=\"show\" onchange='hello(value)'>";
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>";
}
?>
比JavaScript文件是這樣的
function hello(value)
{
var xmlhttp;
if(window.XMLHttpRequest)
{
xmlhttp = new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState==4)
{
//nothing is here because you want to put the result in file
}
}
xmlhttp.open("GET","yourphpcode.php?val="+value,true);
xmlhttp.send();
}
嘗試這個
如果我沒有運行代碼而出現問題,請問好
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.