我正在使用文本文件作为数据库。此代码仅按我选择的ID显示行。我想让它显示文本文件中的所有内容。
<?php
$lines = file('database.txt');
$data = array();
$id = 1;
for($i = 0; $i < count($lines); $i++){
if($lines[$i] == $id){
$data[0] = $lines[$i];
$data[1] = $lines[$i+1];
$data[2] = $lines[$i+2];
$data[3] = $lines[$i+3];
}
}
?>
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="style.css" media="all" />
<title>Test</title>
</head>
<body>
<div class="box1">
<h1><?= $data[1]; ?></h1>
<img src="<?= $data[2]; ?>">
<p>
<?= $data[3]; ?>
</p>
<br />
<a href="<?= $data[4]; ?>">Click here!</a>
</div>
<div class="box1">
<h1><?= $data[1]; ?></h1>
<img src="<?= $data[2]; ?>">
<p>
<?= $data[3]; ?>
</p>
<br />
<a href="<?= $data[4]; ?>">Click here!</a>
</div>
</body>
</html>
这是我的数据库文件
1
Name
Image
My text
Link
-------
2
Name1
Image1
Text1
Link1
-------
3
Name3
Image3
Text3
Link3
-------
答案 0 :(得分:2)
你的事情太复杂了。这是你需要做的所有事情的骨架:
<body>
blah blahblah
<?php
$data = file('database.txt');
foreach($data as $line) {
echo $line[0];
}
?>
</html>
</body>
答案 1 :(得分:0)
试试这个
C
答案 2 :(得分:0)
首先回答你的问题 我不知道你是想一次显示所有内容,还是仅仅是一个目录类型的交易,所以这里是前者,如果你需要后者我会编辑我的帖子< / p>
EDITED:在trim
子句中添加if
以正确构建数组,并在print函数中删除新行。
一个。显示一切
<?php
$lines = file('database.txt');
$i=0;
foreach ($lines as $line){
if (trim($line)!="-------") $data[$i][]=$line;
else $i++;
}
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="style.css" media="all" />
<title>Test</title>
</head>
<body>
<?php
foreach ($data as $key=>$val) {
print '<div class="box'.$key.'">
<h1>'.trim($val[1]).'</h1>
<img src="'.trim($val[2]).'">
<p>'.trim($val[3]).'</p>
<br />
<a href="'.trim($val[4]).'">Click here!</a>
</div>';
}
?>
</body>
</html>
接下来,我建议您以CSV格式存储信息,如下所示:
Name,Image,Text,Link
Bob,/home/images/bob.jpg,"some text",http://bob.example.com
Alice,/home/images/alice.png,"alice is wonderfull",http://alice.org
然后,您可以使用fgetcsv
http://php.net/manual/en/function.fgetcsv.php