【发布时间】:2017-03-25 16:01:03
【问题描述】:
从这样的形式
<?php
if(isset($_POST['submit'])){
$tags = $_POST['tags'];
?>
<form method="post">
<select name="tags" multiple>
<option>PHP</option>
<option>HTML</option>
<option>CSS</option>
</select>
<button type="submit" name="submit">
</form>
表格:
[ POSTS ] [ TAGS ] [ POSTS_TAGS ]
| id | title | | id | name | | id | post_id |tage_id |
|----|----------| |----|-------| |----|----------|--------|
| 1 | PHP7 | | 1 | PHP | | 1 | 1 | 1 |
| 2 | HTML | | 2 | HTML | | 2 | 1 | 2 |
| 3 | CSS3 | | 3 | CSS | | 3 | 1 | 3 |
_________________ ______________ | 4 | 2 | 2 |
| 5 | 2 | 3 |
| 6 | 3 | 3 |
__________________________
如何插入、更新、删除 POSTS_TAGS 表中的所有 options?我也许可以理解如何使用 implode 和 explode 插入它,但是更新和删除,无法弄清楚如何有效地做到这一点。
【问题讨论】:
-
顺便说一句,您已经遇到了解析错误。
-
您可能需要多个查询语句来插入、更新和删除您将使用连接选择的数据集。因此,如果您要创建新帖子,则需要在插入帖子标签之前为帖子执行插入操作,这样您就可以获得帖子条目的新 ID
-
@M31 那么我是否将两个
insert语句发送到insert将帖子发送到POSTS并将post_id发送到POSTS_TAGS?使用1 个查询插入两个表是好的还是2个查询更好? -
您可以创建一个包含两个插入语句的查询,并在第二个插入语句中使用类似 LAST_INSERT_ID() 的内容来获取帖子 ID 值。如果您可以确认您正在使用 php 处理表单数据和 MySQL 数据库,我可以写一个带有更具体建议的答案
-
@M31 我不完全使用 MySQL,但现在我使用 phpmyadmin,我不知道是否每个人在发布他们的网站以获得更好的数据库后迁移到 MySQL 是否是自然的。