点击php列表中的项目后,将外部页面加载到div中



我知道,我知道。从上面的标题来看,你可能想知道我在问什么。让我试着把它分解得简单一点,因为我被卡住了,无法弄清楚。所以。。。。。。。。。。。。。。

我在我的网站上有一个地方,用户可以在那里查看已经发布的新闻项目列表。所有的新闻项目都列在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)

稍后,您可以将调用的url更改为类似的内容

"YSMhome_LMeditform.php?id=" + id

那么您就可以将"YSMhome_LMeditform.php中可用的ID作为$_GET['id']

相关内容

  • 没有找到相关文章

最新更新