【问题标题】:Linking images to the right page将图像链接到正确的页面
【发布时间】:2014-01-19 13:37:06
【问题描述】:

我正在构建自己的 CMS。用户可以创建帖子,也可以上传带有当前帖子的图片。因此,当用户创建帖子并上传图片时,图像 url 被插入到数据库中的一个表中,我存储了所有图像 url。我的问题是,在将帖子数据插入数据库时​​,我不知道如何将上传的图像与当前帖子相关联。

所以我的数据库存在一个包含以下行名的 post 表:id、subject、intro、post 和 image_id。 (当我有值时加入正确的image.id的image_id) 我的图像表仅存在于 id 和 image_url 之外。

所以当用户发布消息并上传图片时,我如何在数据库中插入数据以便图片链接到帖子?

谢谢!

【问题讨论】:

  • 每张图片都需要发布 ID。当您上传图片时,您需要传递帖子 ID。
  • 是的,但我不明白如何获取尚未发布的内容的帖子 ID。
  • 要邮寄很多照片,请尝试使用以下结构:images(idIMG,idPOST,urlIMG,.....) 其中图片的 PK 为 (idIMG+idPOST)
  • 当有人上传图片时,只需将图片保存在您的图片目录中,并在您的表单中为图片网址设置一个隐藏的输入字段。在图像 url 隐藏字段中设置图像 url。当您提交表单时,您将拥有一个带有图像 url 的发布数据。然后将帖子数据保存在帖子表中,并将图像 url 和帖子 ID 保存在您的图像表中

标签: php mysql content-management-system


【解决方案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 数据库的连接。但这基本上是您需要的过程。

【讨论】:

    【解决方案2】:

    首先您需要更改您的数据库发布表。 post表中不应有图像ID。 你的图片表中应该有帖子 ID。

    图片属于帖子。帖子不属于图像。

    Images
    
     -- image_id
     -- image_path
     -- post_id
    

    当有人上传图片时,只需将图片保存在您的图片目录中,并在您的表单中为图片网址设置一个隐藏的输入字段。在图像 url 隐藏字段中设置图像 url。当您提交表单时,您将拥有一个带有图像 url 的发布数据。然后将帖子数据保存在帖子表中,并将图像 url 和帖子 ID 保存在您的图像表中。

    我知道这是描述性的答案,我已经尝试描述它。

    这应该是有道理的!

    【讨论】:

      【解决方案3】:

      我认为您可以通过两种不同的方式来处理它:

      如果您需要将图像放在单独的字段中,则将图像字段放在帖子表上。 这样一来,您的帖子字段中将包含以下内容:

      names: id, subject, intro, post, and a image_path

      第二种方式是......我认为这是CSM中最受欢迎的方式,如果您不需要单独字段中的图像,您可以将所有内容放在一起保存为html。

      我建议您考虑的这两种可能性是不必将图像放在另一个表中。如果您有必要这样做,这可能不是您要寻找的。​​p>

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-06-27
        • 1970-01-01
        • 2023-04-10
        • 2017-02-13
        • 2016-10-04
        • 2015-11-27
        • 1970-01-01
        • 2011-07-09
        相关资源
        最近更新 更多