好的,我有:
一个查询数据库并显示查询结果的PHP文件,一个使用AJAX显示结果的HTML文件,以及另一个我需要将数据从第一个PHP文件发送到的PHP文件。
我怎样才能做到这一点?
我的第一个PHP文件显示:
$result = mysqli_query($db_server, $query);
if (!$result) die("Database access failed: " . mysqli_error($db_server));
while($row = mysqli_fetch_array($result)){
$str_shopresult .= "<div class='result'><a id='shoplink' href='#shop'><strong><div id='hiddenid'>" .
$row['id'] . "</div>" .
$row['name'] . "</strong><br><br>" .
$row['address'] . "<br><br><i>" .
$row['sold'] . "</i></div></a>";
}
因此,AJAX将其引入并以HTML显示。单击链接时,是否有一种发送ID字段的方法,以便可以在另一个PHP文件中使用该字段来显示该特定ID的数据。
$( "#result" ).click(function() {
$.ajax({
type: "POST",
url: "external-data/shop.php",
data: $("#hiddenid"),
success: function (data) {
$("#individualshop").load("external-data/shop.php");
}
});
这样来自#hiddendiv($ row ['ID'])的数据将被发送到新的PHP文件。这是行不通的。
shop.php具有以下代码:
//get shop ID
$shopid = $_POST['ID'];
mysqli_select_db($db_server, $db_database);
$query = "SELECT * FROM shops WHERE ID='$shopid'";
$result = mysqli_query($db_server, $query);
if (!$result) die("Database access failed: " . mysqli_error($db_server));
while($row = mysqli_fetch_array($result)){
$str_shops .= "<div class='searchresult'><strong>" .
$row['name'] . "</strong><br><br>" .
$row['address'] . "<br><br><i>" .
$row['sold'] . "</i></div>";
}
但是我不确定如何获取ID?
基本上,我需要能够单击每个搜索结果,并让另一个PHP文件引入与搜索结果的ID相关联的特定数据。有什么建议??
提前致谢!
我不是100%确定这是您想要的,但这是一种方法。
这是您的第一个php文件。我已经为其添加了onclick侦听器,因此当用户单击一行时,它将触发传递$ row ['id']变量的JavaScript。
$result = mysqli_query($db_server, $query);
if (!$result) die("Database access failed: " . mysqli_error($db_server));
while($row = mysqli_fetch_array($result)){
$str_shopresult .= "<div onclick='someFunction(" . $row['id'] . ")' class='result'><div id='shoplink' href='#shop'><strong><div id='hiddenid'>" .
$row['id'] . "</div>" .
$row['name'] . "</strong><br><br>" .
$row['address'] . "<br><br><i>" .
$row['sold'] . "</i></div></div>";
}
然后将此脚本添加到页面的标题。
<script>
function someFunction(d){
var response = httpGet("http://yourdomain.com/newphpfile.php?page_id=" +d);
document.getElementById('someResultArea').innerHTML = response;
}
function httpGet(theUrl)
{
var xmlHttp = new XMLHttpRequest();
xmlHttp.open( "POST", theUrl, false );
xmlHttp.send();
return xmlHttp.responseText;
}
</script>
然后,您的新php文件应执行以下操作。
newphpfile.php
<?php
session_start();
$page_id = strip_tags($_GET['page_id']);
$processResult = 'handle your result';
echo $processResult;
?>
我希望这能够帮到你。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句