我正在使用范围滑块执行搜索功能,使用Jquery& Ajax in Php。
我可以从数据库中获取数据并显示在同一页面中,但我需要在另一页中显示数据。
我的索引页面:
<html>
<head>
<title></title>
<style>
tr { border:1px solid #066;}
tr th { border:1px solid #eeeeee; padding:5px; background:#e1e1e1;}
tr td { border:1px solid #eeeeee;}
</style>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<link rel="stylesheet" href="style.css" />
<script>
$(function () {
$("#slider-range").slider({
range: true,
min: 0,
max: 1000,
values: [0, 500],
slide: function (event, ui) {
$("#amount").val("Rs." + ui.values[ 0 ] + " - Rs." + ui.values[ 1 ]);
var from = ui.values[ 0 ];
var to = ui.values[ 1 ];
$.ajax({
type: "POST",
url: "get_data.php",
data: "from=" + from + "&to=" + to,
success: function (html) {
$("#response").html(html);
//window.location="index1.php";
}
});
}
});
$("#amount").val("Rs." + $("#slider-range").slider("values", 0) + " - Rs." + $("#slider-range").slider("values", 1));
});
</script>
</head>
<body>
<div style="width:280px; padding:10px;">
<h5>Price Range:</h5>
<div id="slider-range"></div>
<input type="text" id="amount" class="ttt" style="margin-left:70px">
<div id="response"></div>
</div>
</body>
</html>
我的get_data代码是:
<table>
<tr>
<th>Name</th>
<th>Address</th>
<th>City</th>
</tr>
<?php
$conn = mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("details", $conn) or die(mysql_error());
$formprice = $_POST['from'];
$toprice = $_POST['to'];
$query = "SELECT * from details where hallcapacity between '" . $formprice . "' and '" . $toprice . "'";
$res_cart = mysql_query($query);
while ($row_cart = mysql_fetch_array($res_cart)) {
?>
<tr>
<td><?php echo $row_cart['name']; ?></td>
<td><?php echo $row_cart['address']; ?></td>
<td><?php echo $row_cart['city']; ?></td>
</tr>
<?php
}
?>
</table>
在成功功能之后的索引页面中,我使用了window.location函数,但在移动幻灯片时,它会重定向到其他页面而没有获取值。请提供任何建议。
答案 0 :(得分:2)
如果您只想通过window.location
将参数传递到其他页面,可以执行以下操作:
winndow.location.href = 'new_page.php?param1=one¶m2=two&...';
使用php获取新页面中的参数:
$ param1 = $ _GET [&#39; paramm1&#39;]; $ param2 = $ _GET [&#39; paramm2&#39;];
答案 1 :(得分:0)
在AJAX成功之后你将如何尝试重定向:
var a = data;
window.location.href ="window.location.href="index.php?data="+a";
在index1.php中
<?php
if (isset($_GET["data"])){
echo $_GET['data'];
}
?>
答案 2 :(得分:0)
由于您需要在另一个页面中显示数据,因此您无需使用ajax
。您可以通过url
传递所需的参数并获取参数的值在相应的页面功能中。你可以redirect
这样
slide: function( event, ui ) {
$( "#amount" ).val( "Rs." + ui.values[ 0 ] + " - Rs." + ui.values[ 1 ] );
var queryString="firstArg="+fArg+"&secondArg=sArg";
window.location.href="/ControllerName/Classificate/?"+queryString
}
在相应的页面控制器中从url获取参数并处理result.Hope,这有助于交配.. :)