我有一个包含一些提交内容的表格,该表格有一个tags
字段,我需要在其中搜索。
数据以JSON格式保存在表中,如下所示: ["basic","example","html","chart"]
我正在尝试寻找一种方法来搜索标签字段中的所有行,但是不确定以这种格式如何才能以最佳方式进行搜索。
用户提交一个标签以进行搜索,例如:html
,那么我需要在所有行中搜索该标签,而不会产生太多开销。
我知道大多数人都会说:您尝试过什么?-没事。由于我不知道如何执行此操作,因此我知道如何在sql中搜索。但从来没有按照这种逻辑尝试过。
没有“最佳方法”以这种格式进行搜索。根本没有办法。
难怪你不知道该怎么做。我会告诉你更多-也没人知道。标签绝不能以json格式存储。就像您在造汽车一样,将车轮放在屋顶上。然后问,如何驱动它。
您必须先学习数据库基础知识。然后以正确的方式创建表格。为标签制作一个单独的表。将它们分别存储在单独的行上。之后,您将可以使用JOIN查询将相应的记录附加到结果中,以通常的方式搜索标签。
$sql = "SELECT a.* FROM articles a, tags t WHERE aid=a.id AND tag=?";
$stmt = $pdo->prepare($sql);
$stmt->execute(array($tag));
$data = $stmt->fetchAll();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句