我有三个PHP页面index.php,fetch_data.php和product_detail.php。
我的index.php具有三列:过滤器选项,产品面板,详细描述。
当用户单击产品面板中的产品时,详细说明应加载product_detail.php。
当我在fetch_data中有target =“ _ blank”时,此方法有效并显示了产品详细信息,但我不希望它在新窗口中显示。一切都必须在index.php的同一页上。我需要它像:onclick =“ loadQueryResults()”。我认为的问题是,我不确定如果在index.php中声明该方法是否可以在product_detail.php中访问。
我尝试用javascript在index.php的div中加载product_detail.php,但未引用该行的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>";
}}
如何获得product_detail在index.php页面的DisplayDiv中显示?
答案 0 :(得分:-1)
你有两种方法。