您好我目前使用javascript來調用在輔助頁面上運行sql查詢的小函數我有大約4到5個這些小腳本,我只是想知道如何把它們全部並且能夠從這一頁中調用我需要的那個,而不是有5個不同的腳本,它們有3到5行代碼。我的代碼和過程如下所示。如何將3行腳本合併成一個頁面
首先我正在使用的JavaScript。
$("select#principle").attr("disabled","disabled");
$("select#type").change(function(){
var id = $("select#type option:selected").attr('value');
$("select#principle").attr("disabled","disabled");
$("select#principle").html("<option>wait...</option>");
$.post("select_principle.php", {id:id}, function(data){
$("#Options").addClass("active");
$("select#principle").removeAttr("disabled");
$("select#principle").html(data);
});
});
這是一個JavaScript函數,我使用它檢查下拉框是否被選中,然後刪除下一個的disable屬性。但正如你所看到的那樣,這裏有一個$.Post
這叫做PHP頁面。
被調用的頁面
<?php
include "select.class.php";
echo $opt->ShowPrinciple();
?>
這是PHP代碼,轉到select.class.php頁面並運行一個SQL查詢。這也是我有多個代碼,我希望這是與其他人以同樣的方式調用其他函數在一個腳本中,但他們必須只在被調用時運行。
正在運行SQL查詢低於
// this displays the principle when called
public function ShowAllPrinciple()
{
$sql = "SELECT principle.principle_id,principle.description,principle.section_id,COUNT(media.principle_id) as media_count
FROM principle
LEFT OUTER JOIN media ON principle.principle_id = media.principle_id
AND principle.section_id = media.section_id
WHERE principle.section_id={$_POST['id']}
GROUP BY principle.principle_id,principle.description";
$res = mysql_query($sql,$this->conn);
$principle = '<option value="%">choose...</option>';
while($row = mysql_fetch_array($res))
{
$principle .= '<option value="' . $row['principle_id'] . '">' . $row['description']. '...('.$row['media_count'].') </option>';
}
return $principle;
}
這只是一個簡單的SQL查詢,連接到數據庫,然後獲取數據並顯示到下拉框中。
關於如何將這些小腳本放入一個頁面並使用JavaScript調用特定函數的任何想法,只有小腳本需要位於PHP頁面內,並且SQL查詢位於PHP頁面內,因此無法更改。
<?php
include "select.class.php";
echo $opt->ShowPrinciple();
?>
任何幫助,將不勝感激
您可以使用開關或if語句。你可以根據一個動作或類似的東西做一個開關。 – Perry
你能告訴我一個例子或文檔嗎? @Perry – user3387522
檢查我的答案我補充。 – Perry