Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.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 Jquery/Mysql:使用Mysql数据在Jquery中自动完成搜索标记?_Php_Jquery_Mysql_Search_Autocomplete - Fatal编程技术网

Php Jquery/Mysql:使用Mysql数据在Jquery中自动完成搜索标记?

Php Jquery/Mysql:使用Mysql数据在Jquery中自动完成搜索标记?,php,jquery,mysql,search,autocomplete,Php,Jquery,Mysql,Search,Autocomplete,我有一个html搜索栏,如下所示: <form id="testblah" action="search_results.php" method="GET"> <input type="text" name="search" class="Search_bar_box" id="search"> </form> 然后,我使用Jquery使用预定义的标记自动完成搜索条件的输入,如下所示: <script> $(function() {

我有一个html搜索栏,如下所示:

<form id="testblah" action="search_results.php" method="GET">
<input type="text" name="search" class="Search_bar_box" id="search">
</form>
然后,我使用Jquery使用预定义的标记自动完成搜索条件的输入,如下所示:

<script>


$(function() {
    $('form').each(function() {
        $(this).find('input').keypress(function(e) {
            // Enter pressed?
            if(e.which == 10 || e.which == 13) {
                this.form.submit();
            }
        });


    });
});

  $(function () {

    var availableTags = [

        "Telehandlers",

        "Cranes",

        "Fork Attachments",

        "Aggreko",

        "12 Tonne Telhandlers",

        "Marwood",

        "Crane Suppliers in Manchester",

        "Total",

        "Oil, Gas & Lubricants",

        "Tomato Plant"

    ];

    $("#search").autocomplete({

        source: availableTags,
        select: function (event, ui) {
            window.location = 'search_results.php?search=' + ui.item.value;

        }

    });

    $('#searchForm').on("submit", function (event) {
        event.preventDefault();
        alert($('#search').val());
    });


});

  </script>
这一切都很好,但是,我现在要做的是更改预定义文本中的标记,以便从MySQL数据中提取标记。因此,我尝试运行一个MySQL查询,从我的表中获取所有数据,如下所示:

<?php $query12 = "SELECT * FROM supplier_users, supplier_stats GROUP BY supplier_users.user_id"; 
      $result12 = mysql_query($query12);
       while($row1 = mysql_fetch_assoc($result12)) {
       $tags = $row1; } ?>
然后尝试将我的字符串放入jquery标记部分,如下所示:

$(function () {
var data = "<?= $tags ?>";
var availableTags = [


    data    ];

但是,这会阻止jquery工作。谁能告诉我哪里出了问题,我需要怎么做。提前感谢

您可以像下面这样编辑php代码

<?php 
 $query12 = "SELECT * FROM supplier_users, supplier_stats GROUP BY supplier_users.user_id";
     $result12 = mysql_query($query12);
     $tags = array();
     while($row1 = mysql_fetch_assoc($result12)) {
      array_push($tags, $row1);
     } 
    ?>
在java脚本中,正如火影忍者所说,替换

var data = "<?= $tags ?>";
有以下几点

var data = "<?php echo json_encode($tags); ?>";
// array
var availableTags = JSON.parse(data);

尝试使用这种解决方案。

1。现在只显示1行2。您需要在EjavaScript 3中回显$tags。您需要在标签中构建数组,就像在javascript中构建一样。。