我正在构建自己的CMS。用户可以创建帖子,也可以使用当前帖子上传图片。因此,当用户创建帖子并上传图片时,图片网址会被插入到数据库中,我会存储所有图片网址。我的问题是,我不知道在将帖子的数据插入数据库时如何将上传的图像与当前帖子联系起来。
所以我的数据库存在一个包含以下行名称的post表:id,subject,intro,post和image_id。 (image_id用于加入右图像。当我有值时) 我的图像表只存在于id和image_url之外。
因此,当用户发布消息并使用它上传图像时,如何将数据插入数据库以便将图像链接到帖子?
谢谢!
答案 0 :(得分:1)
您首先要插入图像信息:
$image_query = "INSERT INTO images SET image_url = :image_url";
$image_result = $pdo->prepare( $image_query );
$image_result->execute( array(
":image_url" => $image_url
));
然后从插入中获取image_id:
$image_id = $pdo->lastInsertId();
然后插入帖子:
$post_query = "INSERT INTO posts SET subject = :subject, intro = :intro, post = :post, image_id = :image_id";
$post_result = $pdo->prepare( $post_query );
$post_result->execute( array(
":subject" => $subject,
":intro" => $intro,
":post" => $post,
":image_id" => $image_id
));
您必须根据您的具体情况修改上面的变量名称,并假设您正在使用PDO,其中$ pdo是与MySQL数据库的连接。但这基本上就是你需要的过程。
答案 1 :(得分:0)
首先,您需要更改数据库发布表。 post表中不应该有图像id。 你应该在你的图片表中有帖子ID。
图片属于帖子。帖子不属于图片。
Images
-- image_id
-- image_path
-- post_id
当有人上传图片时,只需将图片保存在图片目录中,并在图片网址的表单中设置隐藏的输入字段。在图片网址隐藏字段中设置图片网址。当您提交表单时,您将获得带有图片网址的帖子数据。然后在帖子表和图片网址中保存帖子数据,并在图片表中发布id。
我知道这是描述性答案,我试图描述它。
应该有意义!
答案 2 :(得分:0)
我认为您可以通过两种不同的方式解决这个问题:
如果您需要分隔字段中的图像,则将图像字段放在帖子表上。 因此,您可以在帖子字段中使用以下内容:
names: id, subject, intro, post, and a image_path
第二种方式是......我认为这是CSM中最受欢迎的,如果你不需要在一个单独的领域中的图像,你可以将所有这些保存为html。
我建议你这两种可能性,认为没有必要把图像放在另一张桌子上。如果你有必要,可能这不是你想要的。