所以,我有一个包含以下字段的数据库表:title
,date
,text
,file1
,file2
,file3
,file4
,file5
。我用它来存储新闻,偶尔也用来存储与新闻相关的文件标题。问题是不同的新闻有不同数量的文件,范围从0到5.现在,我如何将链接发布到每个新闻包含的确切文件数?我试过这样的东西,但它不起作用:
$query="SELECT * FROM news WHERE id=1";
$result=mysql_query($query);
while($row=mysql_fetch_array($result))
{
extract($row);
for($i=1;$i<=5;$i++)
if($"file".$i!="")?>
<p><a href="/admin/uploads/<?php echo $"file".$i?>"><?php echo $"file".$i?></a></p>
}
答案 0 :(得分:0)
我认为这就是你想要的:
for($i=1;$i<=5;$i++) {
$sfile = $row["file$i"];
if($sfile != "") {
?>
<p><a href="/admin/uploads/<?php echo $sfile?>"><?php echo $sfile?></a></p>
<?php
}
}
答案 1 :(得分:0)
您需要阅读normalization
。
您可能想要创建一个看起来像这样的第二个表:
create table files (id int, file varchar(255));
然后您加入id
上的该表以获取所有文件。
SELECT id, file FROM myFirstTable, files WHERE myFirstTable.id = files.id
(也许GROUP BY id
)