Php 使用for循环迭代mysql结果

Php 使用for循环迭代mysql结果,php,mysql,for-loop,Php,Mysql,For Loop,通常,在遍历mysql结果时,您会执行以下操作: while ($row = mysql_fetch_assoc($result)) { echo $row["some argument"]; } // Do your query here $result = mysql_query("SELECT * FROM your_table"); for($i = 5; $i < 10; $i++){ echo mysql_result($result,

通常,在遍历mysql结果时,您会执行以下操作:

    while ($row = mysql_fetch_assoc($result)) {
        echo $row["some argument"];
    }
// Do your query here
$result = mysql_query("SELECT * FROM your_table");

for($i = 5; $i < 10; $i++){
   echo mysql_result($result, $i, "some argument");
}
 mysql_result($result,$row_num,$field)
如何使用for循环实现这一点?这会很有帮助,这样我就可以迭代我的结果的某一部分。我要找的东西是:

 for($i = 5; $i < 10; $i++){
    echo $row[$i]["some argument"];
 }
 mysql_result($result,$row_num,$field)
($i=5;$i<10;$i++)的
{
echo$row[$i][“某个参数”];
}
谢谢

 mysql_result($result,$row_num,$field)

编辑1

 mysql_result($result,$row_num,$field)
为了澄清这一点,我需要循环一部分结果,例如第5行到第10行

 mysql_result($result,$row_num,$field)

另外,我的结果是表中的一部分行,而不是整个表,因此我认为更改my_sql查询不应该是答案的一部分

您可以将整个结果集加载到一个数组中,并根据需要访问它:

$all_results = array();
while ($row = mysql_fetch_assoc($result)) {
    // Append all rows to an array
    $all_results[] = $row;
}
 mysql_result($result,$row_num,$field)
现在,您可以通过以下方式访问它:

echo $all_results[3]['somecolumn'];
 mysql_result($result,$row_num,$field)
或者在for循环中:

for($i = 0; $i < 10; $i++){
  echo $all_results[$i]["somecolumn"];
}
 mysql_result($result,$row_num,$field)
($i=0;$i<10;$i++)的
{
echo$all_结果[$i][“somecolumn”];
}
像这样:

 for(int i = 0; i < 10; i++){
    $row = mysql_fetch_assoc($result)
    echo $row["some argument"];
 }
 mysql_result($result,$row_num,$field)
for(int i=0;i<10;i++){
$row=mysql\u fetch\u assoc($result)
echo$row[“某些参数”];
}

有很多方法可以做到这一点,但是如果您只想迭代所有返回的行,那么使用while是最简单的解决方案。还有一个:

$count = mysql_num_rows($result);

 for(int i = 0; i < $count; i++){
$row = mysql_fetch_assoc($result);
    echo $row["some argument"];
 }
 mysql_result($result,$row_num,$field)
$count=mysql\u num\u行($result);
对于(int i=0;i<$count;i++){
$row=mysql\u fetch\u assoc($result);
echo$row[“某些参数”];
}

我相信您可以这样使用:

    while ($row = mysql_fetch_assoc($result)) {
        echo $row["some argument"];
    }
// Do your query here
$result = mysql_query("SELECT * FROM your_table");

for($i = 5; $i < 10; $i++){
   echo mysql_result($result, $i, "some argument");
}
 mysql_result($result,$row_num,$field)
//在这里进行查询
$result=mysql_查询(“从您的_表中选择*);
对于($i=5;$i<10;$i++){
echo mysql_result($result,$i,“一些参数”);
}

Edit注意到我的PHP语法有点不正确,现在已更正。

如果您只需要一个向前运行的光标,您可以

for(int i = 0; i < 10; i++){
    $row = mysql_fetch_assoc($result
    if (!$row) break;
    echo $row["some argument"];
}
 mysql_result($result,$row_num,$field)
for(int i=0;i<10;i++){
$row=mysql\u fetch\u assoc($result)
如果(!$行)中断;
echo$row[“某些参数”];
}
如果你需要一个可搜索的光标,你需要将结果拉入数组

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

//.. later, maybe repeatedly

for(int i = 0; i < 10; i++){
    echo $rows[i]["some argument"];
}
 mysql_result($result,$row_num,$field)
$rows=array();
while($row=mysql\u fetch\u assoc($result)){
$rows[]=$row;
}
//……以后,也许会反复
对于(int i=0;i<10;i++){
echo$rows[i][“某些参数”];
}

< /代码> 如果您希望涉足行的子范围的任何字段,则可以考虑

 mysql_result($result,$row_num,$field)
例行公事

 mysql_result($result,$row_num,$field)
它返回结果中第n行的字段属性值

 mysql_result($result,$row_num,$field)
假设您想要获得结果行子范围的“某个参数”字段值,您可以考虑以下代码段

 mysql_result($result,$row_num,$field)
$result = mysql_query("some query");
$num_rows = mysql_num_rows($result);
for($i=5;$i<$num_rows;$i++) {   // here I have used range 5 to max of result rows
    echo mysql_result($result,$i,"some argument"); 
}
$result=mysql\u查询(“一些查询”);
$num\u rows=mysql\u num\u rows($result);

对于($i=5;$iI将循环的c语法更改为PHP语法…我不同意您的编辑。IMHO,使用
LIMIT
仍然是获取行子集(即5到10)的最正确方法。请说明为什么更改sql查询不是答案的一部分?