将图像链接到右页

时间:2014-01-19 13:37:06

标签: php mysql content-management-system

我正在构建自己的CMS。用户可以创建帖子,也可以使用当前帖子上传图片。因此,当用户创建帖子并上传图片时,图片网址会被插入到数据库中,我会存储所有图片网址。我的问题是,我不知道在将帖子的数据插入数据库时​​如何将上传的图像与当前帖子联系起来。

所以我的数据库存在一个包含以下行名称的post表:id,subject,intro,post和image_id。 (image_id用于加入右图像。当我有值时) 我的图像表只存在于id和image_url之外。

因此,当用户发布消息并使用它上传图像时,如何将数据插入数据库以便将图像链接到帖子?

谢谢!

3 个答案:

答案 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。

我建议你这两种可能性,认为没有必要把图像放在另一张桌子上。如果你有必要,可能这不是你想要的。