如何使用php和Jquery从url获取id

时间:2017-06-25 09:49:30

标签: php jquery ajax

我使用ajax和jQuery来查询数据库并显示数据库中的记录。

我正在追加结果。我遇到的麻烦是,当用户点击(这是一个移动应用程序)他们想要查看的文章时,应该将他们带到该特定文章的详细信息中。为此,我需要将该文章的ID发送到详细信息页面。

这是jQuery(我使用的是使用$$而不是$的Framework7)。这列出了文章:

function newsFeed() {
    $$.ajax({
        url: "newsfeed.php",
        type: "POST",
        dataType: "json",
        success: function (data) {
            $$.each(data, function (item) {
                $$("#newsFeed").append(`

                    <li>
                        <a href="article.html?id=${data[item].id}" class="item-link item-content">
                            <div class="item-media"><img src="img/${data[item].n_pic}" width="80"></div>
                                <div class="item-inner">
                                <div class="item-title-row">
                                    <div class="item-title news-headline">${data[item].n_title}</div>
                                </div>
                            <div class="item-text"></div>
                                    <div class="date-time">${data[item].n_dateTime}</div>
                            </div>
                        </a>
                    </li>   
                `);
            });
        },
    });

我想获取用PHP发送的id

$url = filter_var($_GET['id'], FILTER_SANITIZE_URL);
$stmt = $link->prepare("SELECT `n_title` FROM `news` WHERE `id` = ?");
$stmt->bind_param("i", $url);

if (!$stmt->execute()) echo "Execute Error: ($stmt->errno)  $stmt->error";
$result = $stmt->get_result();

if ($result) {
    $row = $result->fetch_assoc();
    $n_title = sanitize($row['n_title']);
    echo $n_title;

} else {

    echo "No record found";
}

$stmt->close();

我得到的错误是:

  

未定义的索引:id

所以,我猜php不能在jQuery中传递id。

2 个答案:

答案 0 :(得分:1)

确保正确设置密钥:

article.html?${data[item].id}

应该是:

article.html?id=${data[item].id}

答案 1 :(得分:0)

我实际上在我的ajax调用中使用了page.query来获取id。 page.query在有人向我指出的文档中。

https://framework7.io/docs/pages.html