繁体   English   中英

MySQL的PHP​​行请求到变量

[英]MySql PHP row request to variable

您好,我需要有关我正在进行的项目的帮助。

我有一个包含大量记录的数据库。 我需要将许多记录放入变量中以制作图形。 到目前为止,以下是我的代码的一部分。

 //Retrieve all data from the table
 $result=mysql_query("SELECT * FROM solar_panel ORDER BY id DESC") or     die(mysql_error());

$row = mysql_fetch_row($result);
$row1 = mysql_fetch_row($result);
$row2 = mysql_fetch_row($result);
$row3 = mysql_fetch_row($result);
$row4 = mysql_fetch_row($result);
$row5 = mysql_fetch_row($result);
$row6 = mysql_fetch_row($result);
$row7 = mysql_fetch_row($result);
$row8 = mysql_fetch_row($result);
$row9 = mysql_fetch_row($result);
$row10 = mysql_fetch_row($result);
$row11 = mysql_fetch_row($result);
$row12 = mysql_fetch_row($result);
$row13 = mysql_fetch_row($result);
$row14 = mysql_fetch_row($result);
$row15 = mysql_fetch_row($result);
$row16 = mysql_fetch_row($result);
$row17 = mysql_fetch_row($result);
$row18 = mysql_fetch_row($result);
$row19 = mysql_fetch_row($result);
$row20 = mysql_fetch_row($result);
$row21 = mysql_fetch_row($result);
$row22 = mysql_fetch_row($result);
$row23 = mysql_fetch_row($result);
$row24 = mysql_fetch_row($result);

如您所见,这将变得很大,我需要将降序的第5行放入一个单独的变量中,但是我知道的唯一方法是将所有行放入单独的变量中,然后在图形数据中使用第5行。

我想对大约60条记录执行此操作,因此要写出所有记录,我必须将上述代码写300次。 有没有更快的方法可以做到这一点。

我试图做一个循环,但无法使变量随所选的每一行增加。

任何帮助将不胜感激,或者我正在编写很多代码

仅查询第五行

如果您只对第五行感兴趣,则仅向数据库请求该行:

SELECT * FROM solar_panel ORDER BY id DESC LIMIT 4, 1

LIMIT索引从零开始,因此第5行的索引为4。

查询第5行

如果要每第5行,请使用以下更复杂的查询:

SELECT * FROM
   (SELECT *,
           @row := @row + 1 AS rowNumber FROM solar_panel,
           (SELECT @row := 0) AS var
           ORDER BY id DESC
   )
AS ordered WHERE rowNumber % 5 = 0

尝试以下代码:

for($i = 0; $i < $count; ++$i){
    $varname = 'row'.$i;
    $$varname = mysql_fetch_row($result);
}

希望有帮助!

$limit=60;
$fifth=1;
$arrRow=array();
while($row = mysql_fetch_row($result)){
 if(($fifth%5)==0)
 $arrRow[]=$row;
 $fifth++;
 if($fifth==limit)
 break;
}
//now you have every fifth row in $arrRow
foreach($arrRow as $row){
 //handle the data as per your need
}

做这样的事情:

while ($row = mysql_fetch_row($result))
{
    $rows[] = $row;
}

然后,您基本上将每一行包含在不同的变量中,除了将它们全部“分组”在数组$rows ,从而使您可以轻松地对它们进行计数,遍历它们,将它们混洗等等。 要访问它们,可以使用$rows[23]代替$row23

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM