php&mysql while循环

问题描述:

我是PHP新手,我认为这是一个简单的问题。php&mysql while循环

我可以显示来自我的数据库这样的内容:

... 
... 
<?php while($rows = mysql_fetch_array($queryNews)){ ?> 
    <div class='title_news'><?php echo $row['Title'] ?> </div> 
.... and so on... 

那好吧到目前为止

然后我想模拟一种分页的:我的意思是出尽可能多的数字新闻 我第一次尝试了for循环

<?php for($i=1; $i<= sizeof(mysql_fetch_array($queryNews)); $i++){ ?> 
    <div class="num_txt"><?php echo $i ?></div> 
<?php } ?> 

没有成功。所以我尝试了与第一种类似的方式,也没有成功。

<?php 
     $i=1; 
     while($row = mysql_fetch_array($queryNews)){ ?> 
     echo '<script language="javascript">confirm('.$i.')</script>;'; 
      <div class="num_txt"><?php echo $i ?></div> 
    <?php $i++; } ?> 

有谁知道我在做什么错? 谢谢

您的for循环几乎是正确的,但sizeof(mysql_fetch_array($queryNews))从结果集中获取一行并返回该行中的列数。你想行的结果集数:

<?php for($i=1, $numRows = mysql_num_rows($queryNews); $i<= $numRows; $i++){ ?> 
    <div class="num_txt"><?php echo $i ?></div> 
<?php } ?> 

使用mysql_num_rows来计算总行数,或创建一个变量,当你循环你的记录来获得总数增量。

+0

不知道为什么,但增量的代码块没有显示出来..现在是...当你引用一个增量变量,就像这样?同时,我会设置mysql_num_rows。谢谢 – peterK

要生成的数字阵列试试这个:

$r = range(mysql_num_rows(YOUR_RESULT_SET)); 

foreach($r as $n){ 
echo $n; 
} 

那不是分页,因为大多数定义它,但你可以轻松地搜索PHP分页如果您想要学习如何使用Mysql中的LIMIT子句一次获得10个结果组。