【发布时间】:2010-04-07 02:09:17
【问题描述】:
我被困在如何为我网站上的每个帖子创建标签。我不确定如何将标签添加到数据库中。 目前... 我有 3 张桌子:
+---------------------+ +--------------------+ +---------------------+
| Tags | | Posting | | PostingTags |
+---------------------+ +--------------------+ +---------------------+
| + TagID | | + posting_id | | + posting_id |
+---------------------+ +--------------------+ +---------------------+
| + TagName | | + title | | + tagid |
+---------------------+ +--------------------+ +---------------------+
标签表只是标签的名称(例如:1 PHP、2 MySQL、3 HTML) 发帖(例如:1 什么是 PHP?、2 什么是 CSS?、3 什么是 HTML?) Postingtags 显示了发布和标签之间的关系。
当用户输入帖子时,我将数据插入“帖子”表中。它会自动为每个帖子插入 posting_id(posting_id 是主键)。
$title = mysqli_real_escape_string($dbc, trim($_POST['title']));
$query4 = "INSERT INTO posting (title) VALUES ('$title')";
mysqli_query($dbc, $query4);
但是,如何为每个帖子插入标签? 当用户填写表格时,所有可用标签都有一个复选框区域,他们会检查他们想要的任何标签。 (我还没有做用户输入他们想要的标签的地方)
这会显示带有复选框的每个标签。当用户检查每个标签时,它会存储在一个名为“postingtag[]”的数组中。
<label class="styled">Select Tags:</label>
<?php
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$query5 = "SELECT * FROM tags ORDER BY tagname";
$data5 = mysqli_query($dbc, $query5);
while ($row5 = mysqli_fetch_array($data5)) {
echo '<li><input type="checkbox" name="postingtag[]"
value="'.$row5['tagname'].'" ">'.$row5['tagname'].'</li>';
}
?>
我的问题是如何将数组中的标签(“postingtag”)插入到“postingtags”表中? 我应该...
$postingtag = $_POST["postingtag"];
foreach($postingtag as $value){
$query5 = "INSERT INTO postingtags (posting_id, tagID)
VALUES (____, $value)";
mysqli_query($dbc, $query5);
}
1.在这个查询中,如何获取帖子的posting_id 值?
我在这里的逻辑被卡住了,所以如果有人可以帮我解释下一步,我将不胜感激!
有没有更简单的插入标签的方法?
【问题讨论】: