Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用AJAX从PHP检索数据以发送到不同的PHP文件_Javascript_Php_Jquery_Mysql_Ajax - Fatal编程技术网

Javascript 使用AJAX从PHP检索数据以发送到不同的PHP文件

Javascript 使用AJAX从PHP检索数据以发送到不同的PHP文件,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,好的,我有: 查询数据库并显示查询结果的PHP文件, 一个HTML文件,使用AJAX和 我需要将第一个PHP文件中的数据发送到另一个PHP文件 我该怎么做 我的第一个PHP文件显示: $result = mysqli_query($db_server, $query); if (!$result) die("Database access failed: " . mysqli_error($db_server)); while($row = mysqli_fetch_arra

好的,我有:

查询数据库并显示查询结果的PHP文件, 一个HTML文件,使用AJAX和 我需要将第一个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>"; 
} 
这样来自hiddendiv$行['ID']的数据将被发送到新的PHP文件。这不管用

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相关的特定数据。有什么建议吗

提前谢谢

用这个

$( "#result" ).click(function() {
    $.ajax({
        type: "POST",
        url: "external-data/shop.php",
        data: "ID=" + $("#hiddenid"),
        success: function (data) {
            $("#individualshop").html(data);
        }
    });
});

注意:不要忘了在shop.php中返回html。您可以使用javascript或jquery获取单击的元素id,并将其放在php链接上的GET参数中

ajax目标是ajax.php?id=test


然后通过$\u get['id']获取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;

?>

我希望这能帮到你。

你说的“这不起作用”是什么意思?外部数据/shop.php上的内容是什么?@leonardo I更新了上述帖子,对不起!通过传递以下内容来检索ID:data:{ID:$hiddenid},而不是data:$hiddenid,@Kathryn请看我的答案,这是什么$individualshop.loadexternal-data/shop.php;为了在ajax中取得成功?@HüseyinBABAL引入shop.php查询的结果,但我认为应该使用$individualshop.htmldata?它不允许我在php文件中添加onclick函数,因为我修正了语法。再试一次,谢谢。虽然当我单击结果并回显$page_id时,它显示为未定义,但它在哪里未定义?当出现第一个页面时,您应该能够检查该行的html,并查看侦听器中是否写入了正确的行Id。此外,您还可以切换到console选项卡,观察JS是否出现问题。在新的php文件中,当我单击一个结果并在新的php文件中回显id时,它只是说未定义。当检查元素时,括号中没有任何内容,然后在新页面上显示undefined。谢谢你的帮助!
<?php 
session_start();

$page_id = strip_tags($_GET['page_id']);

$processResult = 'handle your result';

echo $processResult;

?>