如何防止php上重复出现相同的数据&;AJAX
我构建了一个带有下拉菜单的搜索过滤器,用于通过选择下拉菜单过滤数据。但是,它重复显示相同的结果数据,并且不使用匹配查询正确显示数据。请查看演示 atest.php如何防止php上重复出现相同的数据&;AJAX,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,我构建了一个带有下拉菜单的搜索过滤器,用于通过选择下拉菜单过滤数据。但是,它重复显示相同的结果数据,并且不使用匹配查询正确显示数据。请查看演示 atest.php <?php include_once 'dbcon.php'; ?> <!DOCTYPE html> <html> <head> <title></title> <script src="https://code
<?php
include_once 'dbcon.php';
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="https://code.jquery.com/jquery-1.11.3.js"></script>
<script src="js/global.js" type="text/javascript"></script>
</head>
<body>
<?php
$res = $MySQLiconn->query("SELECT title FROM store order by title");
$count = $res->num_rows;
?>
Title: <select name="title" id="title">
<option value="">Select one</option>
<?php
if($count > 0)
{
while($row=$res->fetch_array())
{
?>
<option value="<?php echo $row['title']; ?>"> <?php echo $row['title']; ?> </option>
<?php }} ?>
</select>
<select name="date" id="datee">
<option value="cdate"> Current Date </option>
<option value="pdate"> Past Deals </option>
</select>
<div id="title-data"></div>
<div id="title-data2"></div>
</body>
</html>
请建议我解决这个问题。提前感谢coder您确定数据库中没有重复记录吗。生成select的初始select查询将建议您有。是。我在数据库中没有重复记录。因此标题Kohls和Macy's dsad必须以不同的存储id出现两次。请尝试将存储id添加到输出中以确认。否则,您可以像获取日期一样使用DISTINCT,或者使用GROUP BY title。首先,我尝试使用GROUP BY title,但失败,然后使用id对其进行分组。但是,您可以看到下拉数据,听到它对我来说是正确的。现在每个记录a和b都有一条,这将反映在下拉列表中。
<?php
$con = new mysqli("localhost","root","","filterdatabase");
if (!$con)
{
die('Could not connect: ' . $con->connect_error);
}
if(isset($_POST['title']))
{
$title = mysql_real_escape_string($_POST['title']);
$arrChartData[] = array();
$sql = "SELECT * FROM store
WHERE title LIKE '%".$title."%' group by storeid";
$res = $con->query($sql) or trigger_error($con->error."[$sql]");
while($row = $res->fetch_assoc())
{
$arrChartData[] = $row;
echo $row['title'] . " " . $row['startdate'];
echo "<br />";
}
}
if(isset($_POST['date']) )
{
//$title =(isset(mysql_real_escape_string($_POST['title'])) ? $_POST['title'] : null);
$title = mysql_real_escape_string($_POST['title']);
$date= mysql_real_escape_string($_POST['date']);
if($date=="cdate")
{
$arrChartData[] = array();
$sql="select DISTINCT * from
store where startdate > CURRENT_DATE() and title LIKE '%".$title."%' group by storeid";
$res = $con->query($sql) or trigger_error($con->error."[$sql]");
while($row = $res->fetch_assoc())
{
$arrChartData[] = $row;
echo $row['title'] . " " . $row['startdate'];
echo "<br />";
}
}//
elseif($date=="pdate")
{
$arrChartData[] = array();
$sql="select DISTINCT * from
store where startdate < CURRENT_DATE() AND title LIKE '%".$title."%' group by storeid ";
$res = $con->query($sql) or trigger_error($con->error."[$sql]");
while($row = $res->fetch_assoc())
{
$arrChartData[] = $row;
echo $row['title'] . " " . $row['startdate'];
echo "<br />";
}
}//
}
?>
$(document).ready(function () {
$('#title').on('change', function () {
var title = $('#title').val();
if ($.trim(title) != '') {
$.ajax({
url: "title.php",
type: 'POST',
dataType: 'json',
data: {'title': title},
dataType: 'json',
cache: false,
success: function(data){
$('#title-data').html(data);
},
error: function(jqxhr) {
$('#title-data').html(jqxhr.responseText);
}
});
}
})//
$('#datee').on('change', function () {
var date = $('#datee').val();
var title = $('#title').val();
if ($.trim(date) != '') {
$.ajax({
url: "title.php",
type: 'POST',
dataType: 'json',
data: {'date': date, 'title': title},
dataType: 'json',
cache: false,
success: function(data){
$('#title-data').html(data);
},
error: function(jqxhr) {
$('#title-data').html(jqxhr.responseText);
}
});
}
})//
})