我正在尝试使用S/O
php/jquery.
上添加标签的方式做类似的事情
$tagPart = $_POST['tagPart'];
$tagPart = strip_tags($tagPart,"");
$tagPart = trim($tagPart);
$tag_array = explode(',',$tagPart);
$lastTag = end($tag_array);
$part_query = "SELECT title FROM tag WHERE title LIKE '$lastTag%'";
$part_result = mysql_query($part_query) or die($lastTag);
while ($row = mysql_fetch_assoc($part_result)){
echo "<div id ='link' onclick = 'addText(\"".$row['title']."\");'>" . $row['title'] ."</div>";
}
这适用于添加第一个标记。但是在添加逗号后没有显示第二个标记的任何结果...
所以,如果我做PHP,例如JQuery ...我将能够添加PHP但是在添加和第二个标记时,SQL查询不会导致任何结果...我认为它可能与之匹配整个字符串,而不仅仅是最后一个标签?
答案 0 :(得分:1)
$ lastTag中是否有空格?例如:
$tagPart = 'One, Two, Three';
$tag_array = explode(','$tagPart);
$lastTag = end($tag_array); //$lastTag = ' Three' -> notice the space!
我不是MySQL专家,所以我不确定“LIKE”是否会自动修剪它,但你可能想要做$ lastTag = trim(结束($ tag_array))。如果空间是问题,第一个标签工作的事实是有意义的,因为列表中的第一个标签没有前面的空格。
答案 1 :(得分:1)
尝试输出sql语句并检查错误,额外空格等。
$part_query = "SELECT title FROM tag WHERE title LIKE '$lastTag%'";
echo "sql statement: ".$part_query;
你修剪$tagPart
,但也许你需要修剪$lastTag
:
$lastTag = trim(end($tag_array));