繁体   English   中英

显示页面上未定义生成列表中的$ _GET

[英]$_GET from generated list is undefined on display page

我有一个生成数量的元素来自mysql数据库,它们正确显示并且还附加了它们的主要ID。

我希望当其中一个元素被选中onClick(使用'a')时,jquery被发送到数据库以调用有关此选定元素的更多信息并显示在此主页上。

问题是所选择的主要ID没有进入我的获取页面,其中格式化数据库调用的更多信息并将其返回到显示页面。

我认为错误在这里:

<script type="text/javascript">
    $(document).ready(function() {
       $('a').click(function() {    
        var id = $(this).val('myval'); 

        $.ajax({    //create an ajax request to foliobase.php
        type: "GET",

        //link to the foliobase.php file "?subj" here is the connector///
        url: "foliobase.php?subj="+id,          
       dataType: "html",              
       success: function(response){                    
      $("#fillFolio").html(response); 
     }
  });
});
});
</script>

特别是这部分,因为当我把folio_id号直接放在?subj =而不是+ id之后,一切正常:

var id = $(this).val('myval'); 

这是生成的元素表:

<?php
$query = mysqli_query($connection, "select * from portfolio");
  print "<ul>";
  while($row = mysqli_fetch_assoc($query)){
  print  "<li><a href=\"javascript:return(0)\" myval=".$row['folio_id'].">  <div class=thumbnails><img src={$row['image']}></a></td></li>";
}
print "</ul>";

?>

这是获取页面,其中包含要返回到显示页面的mysql查询和信息布局:

$folio = mysqli_real_escape_string($connection, $_GET['subj']);

//I'm getting exists here!!!!!!!
if(!empty($_GET)){
echo "exists";
}
else{
echo "do not exist";
}

?>
<?php
$query = mysqli_query($connection, "select * from portfolio WHERE folio_id='$folio'");

我仍然会用Javascript,jquery,ajax等来掌握这些,并且在我想到要求stackoverflow寻求帮助之前已经使用了几天,所以在此先感谢。

而是使用attr()

var id = $(this).attr('myval'); 

或者您可以使用data-*属性:

print  "<li><a href=\"javascript:return(0)\" data-myval=".$row['folio_id']."...</td></li>";

然后你可以使用:

$('a').click(function() {    
    var id = $(this).data('myval');

});

myval不是有效的html属性。

你的php应该输出这样的东西:

<?php
    $query = mysqli_query($connection, "select * from portfolio");
    print "<ul>";
    while($row = mysqli_fetch_assoc($query)){
        print  "<li><a href=\"javascript:return(0)\" data-myval=".$row['folio_id'].">  <div class=thumbnails><img src={$row['image']}></a></td></li>";
    }
    print "</ul>";
?>

你的jQuery代码应该是这样的:

var id = $(this).data('myval'); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM