通常,当您遍历mysql结果时,您会执行如下操作:
while ($row = mysql_fetch_assoc($result)) {
echo $row["some argument"];
}如何使用for循环完成此操作?这将是有帮助的,这样我就可以迭代我的结果的某一部分。我在找这样的东西:
for($i = 5; $i < 10; $i++){
echo $row[$i]["some argument"];
}谢谢!
编辑1
为了澄清,我需要循环遍历部分结果,例如,这可能意味着第5行到第10行。
而且,我的结果是表中的一部分行,而不是整个表,所以我认为更改my_sql查询不应该是答案的一部分。
发布于 2012-01-08 13:27:49
我相信你可以像这样使用结果():
// Do your query here
$result = mysql_query("SELECT * FROM your_table");
for($i = 5; $i < 10; $i++){
echo mysql_result($result, $i, "some argument");
}编辑注意到我的PHP语法有点错误,现在已经修正了。
发布于 2012-01-08 13:25:13
可以将整个结果集加载到数组中,并按要求访问它:
$all_results = array();
while ($row = mysql_fetch_assoc($result)) {
// Append all rows to an array
$all_results[] = $row;
}现在,您可以以以下方式访问它:
echo $all_results[3]['somecolumn'];或者在for循环中:
for($i = 0; $i < 10; $i++){
echo $all_results[$i]["somecolumn"];
}发布于 2012-01-08 14:16:37
如果您希望涉水遍历行子范围的任何部分字段,则可以考虑
mysql_result($result,$row_num,$field)例程
结果返回行_num‘the行的字段属性值。
如果您想获得结果行的子范围的“一些参数”字段的值,您可以参考下面的代码片段
$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");
}https://stackoverflow.com/questions/8777870
复制相似问题