gpt4 book ai didi

javascript - 如何根据 session 变量php过滤结果

转载 作者:行者123 更新时间:2023-11-29 00:24:19 25 4
gpt4 key购买 nike

这让我困扰了很长一段时间。任何帮助将不胜感激!

我有一个 php 页面,负责显示我从数据库请求的信息。我在页面上有几个按钮,用于指示在什么时间显示什么结果。我有一个获取下一条记录的向前箭头,一个获取之前记录的后退箭头,然后我有一个过滤器按钮,我试图通过它来过滤我的结果。

PHP 主页面

<?php
session_start();
?>
<html>
<head>

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">var mysess = <?php echo $_SESSION['verticalsess'] ?>;</script>
<script type="text/javascript" src="/getresults_ab_drastic_display.js"> </script>
<?php include("/connect.php"); ?>
</head>

<body>
//content
</body>
</html>


//getresults_ab_display.js
您会注意到此 JS 调用另一个 PHP 文件,该文件将结果返回到原始 PHP 文件。一个功能是转发结果,一个功能是针对以前的结果,另一个是根据主 php 页面上的下拉菜单设置过滤器。

$number = 1;
$(function(){
$('#showMore').click(function(event) {
event.preventDefault();


$.ajax({
type: "POST",
url: "/getNext.php",
data: {"count":$number, vertical: mysess},

success: function(results){
$('#results').html(results);
$number++;
}
});

});

});

$(function(){
$('#showLess').click(function(event) {
event.preventDefault();

$.ajax({
type: "POST",
url: "/getNext.php",
data: {"count":$number, vertical: mysess},
success: function(results){
$('#results').html(results);
$number--;
}
});

});

});

$(function(){
$('#Filter').click(function(event) {
event.preventDefault();

$.ajax({
type: "POST",
url: "/getNext.php",
data: {vertical: $('#vertical').val(), pagetype: $('#pagetype').val(), primarykpitype: $('#primarykpitype').val(), count:$number},
success: function(results){
$('#results').html(results);
}
});

});

});


//getnext.php
此 getnext 查找从 js 文件传递​​的信息并将适当的结果发回。

session_start();
$_SESSION['verticalsess'] = $_POST['vertical'];

$pstcnt = $_POST['count'];


if ((isset($_POST['count'])) && $_SESSION['verticalsess'] = "null")
{
$sql = "SELECT * FROM experiments LIMIT $pstcnt,1";
}
else{
$sql = "SELECT * FROM experiments WHERE vertical = '" . $_SESSION['verticalsess'] . "' LIMIT $pstcnt,1";
}

//my output
...

我的问题

当我点击过滤器按钮时,它应该将“垂直”发送到我的 getnext php 文件并且 a) 将 session 变量设置为该值并且 b) 返回包含与该垂直相关的结果,但是第一次过滤器按钮是单击后,它将传递垂直值并将 session 变量设置为等于该值,但是当我单击“获取下一条记录”按钮时, session 的值为空...始终。因此,出于某种奇怪的原因,在第一次设置 session 并将结果显示到屏幕后,当我想显示下一条记录时,mysess 设置为 null。

我做错了什么?

最佳答案

在//getnext.php 中

$_SESSION['verticalsess'] = "null" ??

我觉得应该是

$_SESSION['verticalsess'] == "null"

试试看效果如何

关于javascript - 如何根据 session 变量php过滤结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19688985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com