【问题标题】:MySQL select query skipping first entryMySQL选择查询跳过第一个条目
【发布时间】:2011-12-24 03:51:37
【问题描述】:

我有一个带有单个表的数据库,该表中有两个字段,一个 ID 号和文件名。我使用这个数据库来允许在 php 脚本中进行分页,这样我就可以在每页显示一定数量的照片。

这是前 5 个整体,以及我用来从数据库中分离出来的代码:

1 - DSC_5480.jpg
2 - DSC_5483.jpg
3 - DSC_5487.jpg
4 - DSC_5488.jpg
5 - DSC_5489.jpg

以及在 HTML 中打印的代码:

if (isset($_GET["page"])) { $page  = $_GET["page"]; } else { $page=1; }; 
$start_from = ($page-1) * 25; 
$data = mysql_query("SELECT * FROM $db_base.$db_tble LIMIT $start_from, 25")
or die(mysql_error());
$pictures = mysql_fetch_array( $data );


while($pictures = mysql_fetch_array( $data ))
{
echo "\t\t" . '<img src="images/' . $pictures['filename'] . '" alt="' . $pictures['filename'] . '" />' . "\n";
}

我遇到的问题是表格中的第一个条目被跳过,正如您从 HTML 代码中看到的那样。

<img src="images/DSC_5483.jpg" alt="DSC_5483.jpg" />
<img src="images/DSC_5487.jpg" alt="DSC_5487.jpg" />
<img src="images/DSC_5488.jpg" alt="DSC_5488.jpg" />
<img src="images/DSC_5489.jpg" alt="DSC_5489.jpg" />
<img src="images/DSC_5491.jpg" alt="DSC_5491.jpg" />

所以我的问题是我做错了什么不允许显示第一个条目?

【问题讨论】:

  • 您是否尝试过使用ORDER BY 子句对结果集重新排序?
  • @Brandon '$start_from' 的值是什么,当查询被执行?你试过打印那个值吗?

标签: php mysql html database


【解决方案1】:

看看code-sn-p,你已经写了两次这个语句:$pictures = mysql_fetch_array( $data );

应该是,

$data = mysql_query("SELECT * FROM $db_base.$db_tble LIMIT $start_from, 25")
or die(mysql_error());

while($pictures = mysql_fetch_array( $data ))
{
echo "\t\t" . '<img src="images/' . $pictures['filename'] . '" alt="' . $pictures['filename'] . '" />' . "\n";
}

【讨论】:

  • 谢谢!完全没有意识到我这样做了,但我现在可以看到它把一切都搞砸了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-08
  • 2019-06-19
相关资源
最近更新 更多