因此,我有一个包含以下字段的数据库表: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>
}发布于 2011-03-13 00:51:00
我想这就是你想要的:
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
}
}发布于 2011-03-13 00:51:07
你需要阅读关于normalization的资料。
您可能希望创建第二个表,如下所示:
create table files (id int, file varchar(255));
然后,您可以连接到id上的该表,以获取所有文件。
SELECT id, file FROM myFirstTable, files WHERE myFirstTable.id = files.id
(也许还有GROUP BY id)
https://stackoverflow.com/questions/5283877
复制相似问题