【问题标题】:Database Schema [User Posts]数据库架构 [用户帖子]
【发布时间】:2021-12-08 10:12:05
【问题描述】:

所以我建立的网站有不同类型的帖子,当用户发布表单时,表单是基于他们选择的类别,如果他们选择汽车,它会询问建造年份、里程、门,如果他们点击书籍,它会询问作者,书籍损坏等......

现在,当涉及到数据库架构时,我试图思考如何保存不同的字段,因为我不想创建一个名为 mileage 的列,并且当用户选择书籍时它将为空,因为我认为那是一个糟糕的设计,所以我做了这样的:

ad_title ad_price ad_body
car 10028 2015, 999km, 4+
book 212 James, no damage

如您所见,我将根据类别更改的字段保存为$ad_body $ad_body = implode(',', $_POST['body']);

然后当我想显示它时 我只是说

$ad_body = explode(',',get_post($id);,'ad_body'));
echo $ad_body['1'];

这似乎是一种不错的方法,但现在我在构建搜索页面时遇到了问题,我根据适用相同规则的类别更改搜索表单,但如何搜索里程或书籍作者等。 . 因为它们在单列中,这告诉我我的数据库架构构建不佳,我需要帮助我如何更改它,以便在能够搜索这些特定值的同时仍然能够保存不同类型的帖子。

【问题讨论】:

  • 一个建议是使用Entity–attribute–value model 来存储您的汽车和书籍特征。该模型可以扩展到其他待售物品。
  • @GilbertLeBlanc 这是一个有趣的方法,我一定会多研究一下。感谢您提供信息,祝您早日愉快。

标签: php mysql database-design


【解决方案1】:

好的,我为我的问题找到了一个可靠的解决方案。 如果有人有更好的数据库架构,请分享,我很感激你的工作。 感谢您帮助我解决我的问题。

帖子属性

post_id attribute
59 Mileage

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-22
    • 1970-01-01
    • 2015-02-23
    • 2012-03-08
    相关资源
    最近更新 更多