Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP while循环多个不返回数据的条件?_Php_While Loop - Fatal编程技术网

PHP while循环多个不返回数据的条件?

PHP while循环多个不返回数据的条件?,php,while-loop,Php,While Loop,我有一个从MySQL表返回数据的PHP页面。我决定添加一个功能,允许用户设置他们想要显示的结果数量,例如,如果有数千条记录 以下是显示数据的PHP代码: while ($row = mysql_fetch_array($result) && ($row <= $noOfResults)) { echo '<p class="display-date">' . $row['date'] . '</p><p class="display"&

我有一个从MySQL表返回数据的PHP页面。我决定添加一个功能,允许用户设置他们想要显示的结果数量,例如,如果有数千条记录

以下是显示数据的PHP代码:

while ($row = mysql_fetch_array($result) && ($row <= $noOfResults)) {
    echo '<p class="display-date">' . $row['date'] . '</p><p class="display">' . $row['id'] . ' - ' . base64_decode( $row['packetdata']) . '</p>';  
    echo '<hr align="center" width="100%" />';
    echo $noOfResults;
}

while($row=mysql\u fetch\u array($result)&($row您做错了,
$row
将是一个数组。因此,要更正此问题,请使用php中的
mysql\u num\u rows()
函数检查行数。请尝试下面的代码

if(mysql_num_rows($result)<=$noOfResults){
    while ($row = mysql_fetch_array($result) ) {
        echo '<p class="display-date">' . $row['date'] . '</p><p class="display">' . $row['id'] . ' - ' . base64_decode( $row['packetdata']) . '</p>';  
        echo '<hr align="center" width="100%" />';
        echo $noOfResults;
    }
}

if(mysql\u num\u rows($result)从数据库获取有限数据的最佳方法是查询中的LIMIT语句。
我想你的问题是

$result= "SELECT * FROM `mytable`";
只需在中添加limit语句

$result= "SELECT * FROM `mytable` LIMIT '$noOfResults'";
然后您的while循环将

while ($row = mysql_fetch_array($result) ) {
        echo '<p class="display-date">' . $row['date'] . '</p><p class="display">' . $row['id'] . ' - ' . base64_decode( $row['packetdata']) . '</p>';  
        echo '<hr align="center" width="100%" />';
        echo $noOfResults;
    }
while($row=mysql\u fetch\u array($result)){
echo'

.$row['date'..

.$row['id'.-'.-'.base64_解码($row['packetdata'])。

'; 回声“
”; echo$noOfResults; }
在sql查询中使用
limit
而不是与变量valuewell进行比较,当
$row=array('date'=>'2014-01-01')
条件
$row=mysql\u fetch\u array($result)&&$row尝试如下括号:
while($row=mysql\u fetch\u array($result))&&($row在本例中,$row是一个数组。在下一行中使用$row。如果将其与数字进行比较,它将始终返回false。在开始循环之前,应声明一个计数器变量,并每次增加它。mysql_fetch_array($result)它不会将列名作为键返回,而是将整数值作为键返回。@suchit mysql\u fetch\u array($result)将同时返回numaric和assoc@suchit
MYSQL\u在
MYSQL\u fetch\u array()中都是默认值