我认为我需要帮助.无法弄清楚.
我有这些表:
帖子
`id` int(10) unsigned NOT NULL,
`title` varchar(140) DEFAULT NULL,
`text` text COLLATE utf8_unicode_ci
Run Code Online (Sandbox Code Playgroud)
帖子标签
`post_id` int(10) unsigned NOT NULL,
`tag_id` int(10) unsigned NOT NULL
Run Code Online (Sandbox Code Playgroud)
标签
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(40) DEFAULT NULL
Run Code Online (Sandbox Code Playgroud)
如果我想用标签循环所有帖子team-fortress-2怎么会这样做呢?我无法弄清楚.
$q = mysql_query("SELECT * FROM ... WHERE $get['tag']");
while($r = mysql_fetch_array($q)) {
Run Code Online (Sandbox Code Playgroud)
SELECT p.*
FROM posts p
JOIN posttags pt ON pt.post_id = p.id
JOIN tags t ON pt.tag_id = t.id
WHERE t.name = 'team-fortress-2'
Run Code Online (Sandbox Code Playgroud)
是具体的例子.在PHP中你会这样做:
$tag = mysql_real_escape_string($get['tag']);
$sql = <<<END
SELECT p.*
FROM posts p
JOIN posttags pt ON pt.post_id = p.id
JOIN tags t ON pt.tag_id = t.id
WHERE t.name = '$tag'
END;
$query = mysql_query($sql);
if (!$query) {
$error = mysql_error();
die("Error $error for query $sql");
}
...
Run Code Online (Sandbox Code Playgroud)
转义标记非常重要,特别是如果您以任何方式从用户输入接受它.
| 归档时间: |
|
| 查看次数: |
155 次 |
| 最近记录: |