jQuery标签建议


jQuery tag suggestion

我正在尝试在我的网站上包含这个插件,它运行良好,但我在PHP方面遇到了一些问题。

当我这样写PHP时:

$default_tags = 'Avanture, Giorgio, Armani, Depeche, Mode, Pevanje, Francuska, usluživanje, Pravo, Menadžer, prodaje, Advokat'; 
        if (!@$_SESSION['existing_tags']) {
            $_SESSION['existing_tags'] = $default_tags;
        }
        $existing_tags = $_SESSION['existing_tags'];
        $tags = split(' ', $default_tags);
         if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && @$_GET['tag']) {
            $match = array();
            foreach ($tags as $tag) {
                if (stripos($tag, $_GET['tag']) === 0) {
                    $match[] = $tag;
                }
           }
        echo json_encode($match);
            }
        exit;
} 

它工作得很好,但当我试图从数据库中获得结果时,我遇到了问题。

我试过:

$query = mysql_query("SELECT * FROM  tags");
while($row = mysql_fetch_array($query)) {
$default_tags = ''.$row['keyz'].', '; 
if (!@$_SESSION['existing_tags']) {
        $_SESSION['existing_tags'] = $default_tags;
    }
    $existing_tags = $_SESSION['existing_tags'];
    $tags = split(' ', $default_tags);
     if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && @$_GET['tag']) {
        $match = array();
        foreach ($tags as $tag) {
            if (stripos($tag, $_GET['tag']) === 0) {
                $match[] = $tag;
            }
       }
    echo json_encode($match);
        }
    exit;
} 

这个方法对我不起作用。另外,这里是我的数据库表标签的截图。上面的代码出了什么问题?

您的问题是一次又一次地重写$default_tags变量。在while循环的末尾,您所拥有的只是最后一行,末尾有一个逗号。

基本上,除了变量中的最后一行之外,您不存储任何内容。

如果你做了以下事情,你会有类似的事情要做:

$default_tags_arr = array();
while($row = mysql_fetch_array($query)) {
    array_push($default_tags_arr, $row["keyz"]);
}
$default_tags = join(", ",$default_tags_arr);

您应该准确描述问题所在。是否收到错误消息?

我看到的一件事对我来说似乎是错误的,那就是从数据库中提取:

while($row = mysql_fetch_array($query)) { 
$default_tags = ''.$row['keyz'].', ';  

对于每一行,您都将完全覆盖$default_tags。我想也许你想说:

while($row = mysql_fetch_array($query)) //where does the curly brace closes in the original code?
    $default_tags .= ''.$row['keyz'].', ';  //notice the . before =

以连接标签。

除此之外,我很难理解代码:

$existing_tags = $_SESSION['existing_tags'];           
$tags = split(' ', $default_tags);    

在这里,您将分配变量$existing_tags,稍后不会在代码中使用该变量。你想在下一行使用它而不是$default_tags吗?代码应该做什么?