Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何防止php上重复出现相同的数据&;AJAX_Php_Jquery_Mysql_Ajax - Fatal编程技术网

如何防止php上重复出现相同的数据&;AJAX

如何防止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

我构建了一个带有下拉菜单的搜索过滤器,用于通过选择下拉菜单过滤数据。但是,它重复显示相同的结果数据,并且不使用匹配查询正确显示数据。请查看演示

atest.php

<?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); 
            }
         }); 
        }
    })//
})