Javascript 从一个php页面加载另一个php页面的内容

Javascript 从一个php页面加载另一个php页面的内容,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我有三个PHP页面index.PHP、fetch_data.PHP和product_detail.PHP php有三列:过滤器选项、产品面板、详细说明 当用户单击产品面板中的产品时,详细描述应加载product_detail.php 当我在fetch_数据中使用target=_blank时,它可以工作并显示产品详细信息,但我不希望它显示在新窗口中。index.php中的所有内容都必须在同一页面上。我需要它像这样工作:onclick=loadQueryResults。我认为问题在于,如果在inde

我有三个PHP页面index.PHP、fetch_data.PHP和product_detail.PHP

php有三列:过滤器选项、产品面板、详细说明

当用户单击产品面板中的产品时,详细描述应加载product_detail.php

当我在fetch_数据中使用target=_blank时,它可以工作并显示产品详细信息,但我不希望它显示在新窗口中。index.php中的所有内容都必须在同一页面上。我需要它像这样工作:onclick=loadQueryResults。我认为问题在于,如果在index.php中声明,我不确定该方法是否可以在product_detail.php中访问

我尝试用javascript将product_detail.php加载到index.php的div中,但它没有引用行的id

<!-- index.php =============================-->
<div class="col-md-6">
<br />
<div class="row filter_data"></div><!--Contains output of filtered data-->
</div>

<div class="col-md-4">
<br />
<h4>Product Detail</h4>

<script type="text/javascript">
function loadQueryResults() 
{
$('#DisplayDiv').load("product_detail.php?id=<?PHP $row['id'] ?>");
return false;
}                    
</script>
<div id="DisplayDiv" >
<!-- This is where product_detail.php should be inserted -->
</div>
</div> 

//fetch_data.php=================================
$statement = $connect->prepare($query);
$statement->execute();
$result = $statement->fetchAll();
$total_row = $statement->rowCount();
$output = '';
if($total_row > 0)
{
foreach($result as $row)
{ 
$GLOBALS['id'] = $row['id'];

$output .= '
<div class="col-sm-4 col-lg-8 col-md-8">
<div style="border:1px solid #ccc; border-radius:5px; padding:10px; margin-bottom:10px; height:300px;">

<p align="center">

<strong><button type="button" onclick="loadQueryResults()" >'. $row['company'] .'</button>'. $row['company'] .'</strong></p>
ID : '. $row['id'].'<br />
Detail : <br />'. $row['detail'] .' <br /><br />
</p>
</div>
</div>
';
}
}

//product_detail.php=====================================

$connect = new mysqli($host, $dbUsername, $dbPassword, $dbname);
if (mysqli_connect_error()) {
die('Connect Error('. mysqli_connect_errno().')'. mysqli_connect_error());
} else {

$id = $_GET['id'];
$id = mysqli_real_escape_string($connect,$id);
$query = "SELECT * FROM `db` WHERE `id`='" . $id . "'";
$result = mysqli_query($connect,$query);

while($row = mysqli_fetch_array($result)) {
echo "<br/><br/>";
echo "Company: <b>" .$row['company']. "</b>";
echo "Detail: <b>" .$row['detail']. "</b>";

}}


如何在index.php页面的DisplayDiv中显示产品详细信息?

有两种方法

将两个文件合并为一个,并根据您的设计制作代码。 使用AJAX方法从第二个php url获取数据,并将其显示在所需文件中。
没有任何东西调用loadQueryResults函数……请阅读AJAX,它是在不导航到其他页面的情况下更改页面内容的基本方法@David我试图将其称为onclick=loadQueryResults,但没有起作用,也不知道如何从fetch_data.php调用它。@ian:在您向我们展示的代码中没有。或者,如果你使用过去时意味着你已经取消了尝试,那么这仍然可以解释为什么它不起作用。。。如果没有调用该函数,该函数将不会执行。@David True。我现在已经编辑过了。谢谢