mysql查询只返回一个字符串

时间:2012-09-19 05:24:21

标签: php mysql wordpress

我正在使用php和javascript为我的wordpress网站创建一个动态填充的自动完成搜索引擎。

示例:用户想要搜索“Nike Shoes”,以便他们在搜索引擎中输入Nike Shoes,他们应该在输入前3个字母后看到Nike Shoes作为建议。

我遇到一个问题,只有耐克这个词出现在一个建议中。您在搜索引擎中输入的任何字词都会出现这种情况。只显示字符串的第一个单词。我确信它与单词之间的空格有关,但不太确定如何修复它。

以下是我的动态填充自动填充的代码:

var availableTags = '<?php $result = mysql_query("select * from state"); 
                    $row = mysql_fetch_array($result); 
                    echo $row['name']; ?>'.split(" ");
                    $( "#title" ).autocomplete({
                    source: availableTags,
                    minLength: 3,
                    position: { my : "left top", at: "left top" },
                    appendTo: "#search-container"
                    });
                    });

我是通过此网站创建此代码的:http://www.tizag.com/mysqlTutorial/mysqlquery.php

如果有人能帮助我,我会非常感激。

谢谢,

史蒂夫

1 个答案:

答案 0 :(得分:0)

我正在使用此功能进行自动建议列表。您可以稍加修改地使用它

function get_autosuggest_list($str=''){

        $q     = strtolower($str);
        $entry = array();   
        $i=0;
        if(!empty($q))
        {
            $entry[$i] = "A.fieldname like '".$q ."%'" ;
            $i++;
        }

        $sqlentry = "";
        $j=0;
        foreach($entry as $data)
        {

            if($j==0)
            $sqlentry  = " where ".$data;
            else
            $sqlentry .= " and ".$data;

            $j++;
        }
        $sql    = "SELECT DISTINCT field_name FROM `table` A ".$sqlentry." ";
        $query  = mysql_query($sql);
        $res    = mysql_fetch_array($query);

        foreach($res as $row)
        {
            $items = $row->fieldname;
            echo "$items\n";
        }

    }

用法:

get_autosuggest_list(string);