簡體   English   中英

單擊PHP列表中的項目后,將外部頁面加載到div中

[英]Load external page into div after clicking on item from php list

我知道我知道。 從上面的標題開始,您可能想知道我要問的是什么。 讓我嘗試更輕松地解決這個問題,因為我被困住了,無法解決。 所以這里...........

我在我的站點上有一個地方,用戶可以在其中查看已發布的新聞項目的列表。 所有新聞項均列在MYSQL數據庫中,並使用PhP檢索並顯示在頁面上,如下所示:

$sql_list = "SELECT * FROM LatestMusic WHERE active = 'y' ORDER BY lm_id DESC";  
 $sql_list_result = mysql_query($sql_list,$connection) or die ('Could not select the List of Latest Music Entries');  

 $bgc = "FFC6C6";  
while($list_data = mysql_fetch_array($sql_list_result)){  
    if ($bgc == "FFC6C6") {  
        $bgc = "FFFFFF";  
    } else {  
        $bgc = "FFC6C6";  
    }  
print "<tr bgcolor=\"#" .$bgc. "\">";  
print "<td align=\"center\" width=\"44\">";  
print "<a href=\"#\" onclick=\"loadXMLDoc()\"><img src=\"/images/b_edit.png\" border=\"0\"></a>";  
print "</td>";  
print "<td align=\"center\" width=\"63\">";  
print "<img src=\"/images/b_drop.png\" border=\"0\">";  
print "</td>";  
print "<td align=\"left\" style=\"padding-left: 15px;\">";  
echo $list_data[1];  
print "</td>";  
print "</tr>";  
}

我得到的那部分。 從那里開始,當用戶單擊數據庫中列出的任何條目時,我需要一個外部PHP頁面才能在同一頁面上的DIV內部加載而不加載。 我在同一頁的頁眉中使用此編碼,以完成此任務:

<script>  
 function loadXMLDoc() {
     var xmlhttp;
     if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
         xmlhttp = new XMLHttpRequest();
     } else { // code for IE6, IE5
         xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
     }
     xmlhttp.onreadystatechange = function () {
         if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
             document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
         }
     }
     xmlhttp.open("GET", "YSMhome_LMeditform.php", true);
     xmlhttp.send();
 }
 </script>

我可以將外部頁面加載到DIV中而無需重新加載頁面。 我遇到的問題是:加載的頁面必須是帶有表單字段的表單。 當用戶單擊數據庫中列表中的條目時,我需要將列表中的變量(讓我知道他們單擊了哪個條目)傳遞到加載到DIV中的外部頁面中,以便我可以預先填充表單字段以及要發送的數據。 這是我無法弄清楚的部分。

如果有人可以幫助我,將不勝感激。 我是AJAX的新手(這是我的第一次嘗試),但是我願意學習我需要的東西才能使它起作用。

調用ajax函數時,需要向其傳遞相關信息。 在您的示例中,您應該更改:

onclick=\"loadXMLDoc()\"

類似於(假設$list_data[0]是一個簡單的整數):

onclick=\"loadXMLDoc({$list_data[0]})\"

然后在javascript中,您的函數定義將類似於:

function loadXMLDoc(id)

然后,您可以將調用的網址更改為類似以下內容的網址:

"YSMhome_LMeditform.php?id=" + id

然后,您將在"YSMhome_LMeditform.php$_GET['id']的身份獲得$_GET['id']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM