我的实际问题是如何创建自动完成下拉关闭标签,以便引用特定页面,如本网站。通过标记页面为本地网页创建搜索选项
我已经有一个autocomlete下拉菜单,它看起来在数据库领域开始 东西%(通配符)一个字,但是这仅仅是一个字
如果你有一个像5个标签,逗号分隔,如tag1,tag2,tag3等,在一个字段 将引用一个特定页面。 你将如何开始查询查找以字母F开头的标签,例如提取它们并将它们放入下拉列表中,并在同一时间从url字段中获取url。
,并通过输入两个或多个标签, 结果应得到更精确的
这些只是我自己的想法,我还没有想出什么将是acomplish的最佳方式。
编辑 我用下面的信息做这样的事情。 我仍然需要在搜索结果中创建一个页面,所以这个很长时间没有准备好。
CREATE TABLE tag_targets (
tag_target_id MEDIUMINT UNSIGNED NOT NULL auto_increment,
tag_target_naam varchar(30) NOT NULL,
tag_target_url varchar(255) NOT NULL,
PRIMARY KEY (tag_target_id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE tags (
tag_id MEDIUMINT UNSIGNED NOT NULL auto_increment,
tag varchar(30) NOT NULL,
PRIMARY KEY (tag_id),
UNIQUE KEY tag (tag)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE target_tag (
tag_target_id MEDIUMINT UNSIGNED NOT NULL,
tag_id MEDIUMINT UNSIGNED NOT NULL,
FOREIGN KEY (tag_target_id) REFERENCES tag_targets(tag_target_id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
$q = "SELECT t1.tag_target_url,t2.tag FROM tag_targets AS t1,tags AS t2, target_tag AS t3 WHERE t1.tag_target_id = t3.tag_target_id AND t2.tag_id = t3.tag_id AND tag LIKE '$queryString%' LIMIT 10";
感谢,理查德
看你的SQL查询,它将返回匹配任何输入的标签(OR)是目标,而不是所有的人(TAG1和TAG2) – 2009-09-21 13:03:06
我的知道,你的语法更好。如果我记得一些关于语法的工作,我只是在尝试。太糟糕了,那些子选项是不允许的。顺便说一下,我在看到你编辑你的答案之前就这样做了。 – Richard 2009-09-21 13:18:33