【问题标题】:Why is my id not getting fetched from my url PHP AJAX MYSQL为什么我的 id 没有从我的 url PHP AJAX MYSQL 中获取
【发布时间】:2018-06-22 12:28:22
【问题描述】:

我试图从 url 中获取我的“id”来加载页面,但它似乎没有显示任何内容。 这是我的网址中的内容

http://localhost/test/product.php?id=21

当我使用时

$product_query = "SELECT * FROM photo WHERE photo_id = '21'";

它工作正常,但显然我希望能够加载任何被点击的具有

的项目

来自我的gallery.php

<a href='product.php<?php echo"?id=$photo_id" ?>'>Get this Product!</a>"

所以这就是我从研究中得到的,但仍然没有结果

这是我的 action.php

if(isset($_GET["getProductind"])){

$photo_id = (isset($_GET['id']) ? $_GET['id'] : null);

    $product_query = "SELECT * FROM photo WHERE photo_id = '$photo_id'";
    $run_query = mysqli_query($conn,$product_query);
    if(mysqli_num_rows($run_query) > 0){
        while($row = mysqli_fetch_array($run_query)){

这就是我在我的 ajax 脚本中使用的内容

main.js

function productind(){
$.ajax({
    url :   "action.php",
    method: "GET",
    data    :   {getProductind:1},
    success :   function(data){
        $("#get_productind").html(data);
    }
})
}

更新希望这更有意义

【问题讨论】:

  • $_GET["getProductind"] 从哪里填充?以及您是如何使用productind() js 方法的?
  • 查看您的开发者控制台并检查是否有错误,这些会让您回避什么?
  • $_GET["getProductind"] 是从我的 action.php 文件中填充的。开发人员控制台未显示任何错误。我可能应该将每一段代码命名为不同的文件,这样更有意义

标签: javascript php jquery mysql ajax


【解决方案1】:

您正在使用 $photo_id = $_GET['id'] 进行查询,但在您的 ajax 调用中您只传递了 getProductind 而没有传递 id 参数

【讨论】:

    【解决方案2】:

    有太多的错误,甚至很难列出。我试试看。

    1- 您正在使用链接:

    <a href='product.php<?php echo"?id=$photo_id" ?>
    

    首先,链接格式不正确,无效。除此之外,该链接将直接从服务器请求 PHP 页面,并且永远不会调用您的 Ajax 代码。你期望它如何工作?你需要使用一个按钮。如果你真的想要一个链接,那么你需要禁用它并使用onclick 事件来调用你的函数:

    <a href="javascript:void 0;" onclick="productind()">Get product</a>
    

    然后您可以将id 直接放入您的productind() 函数中。如果您希望通过链接传递id,您可以这样做:

    <a href="javascript:void 0;" onclick='productind(<?php echo"$photo_id"?>)'>Get product</a>
    

    您需要将id 参数添加到productind() 函数中,但我不打算展示它,因为它很简单。

    2- 你的 Ajax 函数没有传递 id 参数,它只是传递了一个设置为 1 的 getProductind 参数。你需要添加 id 参数。此外,URL 应该指向product.php 页面而不是action.php 页面:

    function productind() {
        $.ajax({
            url     :   "product.php",
            method  :   "GET",
            data    :   {getProductind: 1, id: <?php echo"$photo_id"?>},
            success :   function(data){
                $("#get_productind").html(data);
            }
        });
    }
    

    我无法评论您的 PHP 代码,因为您只发布了其中的一部分。这部分似乎很好,并且在您完成上述修复后将起作用,但我不知道其余代码是否将有意义的数据返回给 Ajax 函数。

    【讨论】:

      猜你喜欢
      • 2016-10-15
      • 2014-05-26
      • 2011-05-04
      • 1970-01-01
      • 2017-08-22
      • 2014-07-09
      • 1970-01-01
      • 2022-11-23
      • 1970-01-01
      相关资源
      最近更新 更多