繁体   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