我以前用&符号(&)分隔数据库条目,但这导致了某些搜索问题,所以我决定用$和&封装我的条目。符号如:
$这&安培;
但是我无法将单元格的所有条目显示为单独的记录。在我使用之前:
$unsplitItems = $row['files'];
$files = explode("@", $unsplitItems);
foreach ($files as $file) {
if(strlen($file)) {
echo "<li>$file</li>";
}
}
我知道如何拆分记录并将数组中的所有项目显示为单独的条目吗?
答案 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>";
}
}