首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP数组不会显示数据库中的所有数据

问PHP数组不会显示数据库中的所有数据
EN

Stack Overflow用户
提问于 2013-03-22 19:52:28
回答 1查看 1.7K关注 0票数 1

我有一个非常基本和简单的脚本,应该显示从我的数据库记录。问题是:它没有显示所有的记录。我甚至尝试过使用最简单的mysql ($sql="SELECT * FROM $tbl_name";),但仍然缺少一些记录(大多数是列表中没有显示的第一条记录)。

下面是我的代码(都在一个页面上):

代码语言:javascript
复制
<?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>

这是一个非常基本的代码,我想说很简单,但它仍然缺少记录,没有显示数据库中的所有内容。我做错了什么?

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-22 19:56:11

在开始循环之前,您需要执行以下操作:

代码语言:javascript
复制
$rows=mysql_fetch_array($result);

那么循环条件是:

代码语言:javascript
复制
while($rows=mysql_fetch_array($result)){

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

另外,请考虑使用PDO或mysqli。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15569643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档