2013-03-22 61 views
1

我有一个非常基本和简单的脚本,应该显示我的数据库中的记录。问题是:它不显示所有记录。我试过了,即使使用最简单的mysql ($ sql =“SELECT * FROM $ tbl_name”;),但仍有一些记录丢失(主要是列表中的第一个未显示)。PHP Array不显示数据库中的所有数据

因此,这里是我的代码(这是所有1页):

<?php 
$host="localhost"; 
$username="***"; 
$password="***"; 
$db_name="***"; 
$tbl_name="***"; 

mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 

$sql="SELECT * FROM $tbl_name WHERE rowNameOne >= 0.01 AND rowNameTwo='2013'"; 

if ($_GET['sort'] == 'one') 
{ 
    $sql .= " ORDER BY one ASC"; 
} 
elseif ($_GET['sort'] == 'two') 
{ 
    $sql .= " ORDER BY two ASC"; 
} 
elseif ($_GET['sort'] == 'three') 
{ 
    $sql .= " ORDER BY three ASC"; 
} 
elseif($_GET['sort'] == 'four') 
{ 
    $sql .= " ORDER BY four ASC"; 
} 
elseif($_GET['sort'] == 'five') 
{ 
    $sql .= " ORDER BY five ASC"; 
} 

$result=mysql_query($sql); 
$rows=mysql_fetch_array($result); 
?> 

<body onload="parent.alertsize(document.body.scrollHeight);"> 
<br /> 
<table cellspacing="0" cellpadding="0" align="center"> 
<tr> 
<td valign="top" colspan="5"> 
<font>Titel</font> 
</td> 
<tr> 
<td><a href="pageName.php?sort=one">Titel one</a></td> 
<td><a href="pageName.php?sort=two">Titel two</a></td> 
<td><a href="pageName.php?sort=three">Titel three</a></td> 
<td><a href="pageName.php?sort=four">Titel four</a></td> 
<td><a href="pageName.php?sort=five">Titel five</a></td> 
</tr> 
<tr> 
<td colspan="5" class="noBorder"> 

<?php 
while($rows=mysql_fetch_array($result)){ 
?> 

<a href="pageName.php?id=<? echo $rows['id']; ?>" > 
<table width="100%"> 
<tr> 
<td><? echo $rows['rowNameOne']; ?></td> 
<td><? echo $rows['rowNameTwo']; ?></td> 
<td><? echo $rows['rowNameThree']; ?></td> 
<td><? echo $rows['rowNameFour']; ?></td> 
<td><? echo $rows['rowNameFive']; ?></td> 
</tr> 
</table> 
<input name="id" type="hidden" id="id" value="<? echo $rows['id']; ?>"> 
<?php 
} 
?> 
</a> 

</td> 
</tr> 
</table> 

这是一个非常基本的代码,容易,可我要说,但仍缺少记录,不显示一切是在数据库。我究竟做错了什么?

感谢您的帮助!

+0

就像我说的,即使是代码$ sql =“SELECT * FROM $ tbl_name”;没有工作... – 2013-03-23 10:01:24

回答

2

开始之前的循环,你这样做:

$rows=mysql_fetch_array($result); 

然后循环条件为:

while($rows=mysql_fetch_array($result)){ 

所以从未显示的第一个结果。我会建议删除第一条语句,因为您没有在该语句和循环之间使用它的结果。

在相关说明中,请考虑移至PDOmysqli

+0

两条不同的线问几乎相同的东西......没有注意到这个错误!非常感谢你!!这解决了问题! – 2013-03-23 10:02:43