【发布时间】:2013-01-31 23:25:52
【问题描述】:
抱歉,如果这可能是一个简单的问题,我之前没有使用过平面文件数据库,发现这非常不直观。
我有一个平面文件,制表符 \t 和 \n 换行分隔数据库,如下所示:
Sebastian Ingrosso Kidsos (Wippenberg Mix) 2F32829628 Electro
Avicii Silhouettes 2F47987574 House
(两行仅用于示例)。我希望能够遍历每一行,将由\t 制表符分隔的每个元素封装在span 标记内,然后移至下一行,最好将每个新行封装在<li> 元素中。
我有这个开始,它不添加跨度或 li 的:
function display_tracklist($max) {
$db = fopen('db/db.txt', 'r');
$row = 0;
while (($tracks = fgetcsv($db, "\n")) !== FALSE) {
if ($max > count($tracks)) {
$max = count($tracks);
}
$row++;
for ($index=0; $index < $max; $index++) {
echo "<li>" . $tracks[$index] . "</li>";
}
}
fclose($db);
}
处理此任务的最佳方法是什么?通常,我会使用 SQL 数据库来完成此操作,从而使事情变得更加直观,但这不是这里的选择。我想到了嵌套的 foreach 循环等,到目前为止还没有运气。
最终结果应该是:
<li><span>Sebastian Ingrosso</span> <span>Kidsos (Wippenberg Mix)</span> <span>2F32829628</span> <span>Electro</span></li>
<li><span>Avicii</span> <span>Silhouettes</span> <span>2F32829628</span> <span>House</span></li>
等等
【问题讨论】:
-
fget_csv 不适合你?
-
我想这与我使用
expode所做的类似,可以做另一个循环来处理第二个维度。
标签: php database file flat-file