如何分离数据库条目并使用PHP将它们显示为单独的记录?

时间:2010-03-24 21:36:05

标签: php database

我以前用&符号(&)分隔数据库条目,但这导致了某些搜索问题,所以我决定用$和&封装我的条目。符号如:

  

$这&安培;

但是我无法将单元格的所有条目显示为单独的记录。在我使用之前:

$unsplitItems = $row['files'];

$files = explode("@", $unsplitItems);

foreach ($files as $file) {

   if(strlen($file)) {

      echo "<li>$file</li>";

   }

}

我知道如何拆分记录并将数组中的所有项目显示为单独的条目吗?

3 个答案:

答案 0 :(得分:0)

你不应该这样做! 将您的记录分成单独的数据库条目。

创建另一个包含2个字段的数据库表 - 父记录的id和输入字段。因此,您将能够使用单个查询

使用数据库功能进行搜索

答案 1 :(得分:0)

如果您确实想这样做,请使用一个符号作为分隔符,并确保该符号未在其分隔的字符串中使用。

但是,通常情况下,您会创建3个表:

post (id, post_text, ...)   
tag (id, tag_name, ...)
post2tag (post_id, tag_id)

最后一个表格允许您根据需要为任何帖子分配任意数量的标签。

这种SQL关系被称为多对多;你可以看到它的使用示例here

答案 2 :(得分:0)

试试这个:

$unsplitItems = $row['files'];

$files = explode("@", $unsplitItems);

foreach ($files as $file) {

   if(empty($file)) continue;

   $sub_record = explode('&', $file);

   foreach($sub_record as $sr) {
      if(empty($sr)) continue;
      $sr = substr($sr, 1);
      echo "<li>$sr</li>";
   }

}