我有一个mysql_query结果,我在代码的不同部分多次循环,每次使用mysql_data_seek($ result,0)重置为结果的开始。如何删除通过mysql_query获取的特定行结果?
我对这些结果使用了mysql_fetch_array,并且想要从$ result中删除一些特定的行。基本上相当于unset($ result [$ row]),如果它是一个普通的数组。有没有办法做到这一点?
示例代码:
$result = mysql_query($sql);
$num_rows = mysql_num_rows($result);
if($num_rows){
for($a=0; $a < $num_rows; $a++){
$row = mysql_fetch_array($result);
if(my_check_function($row['test']){
// do stuff
} else {
// remove this row from $result
}
}
}
mysql_data_seek($result, 0);
我知道我可以简单地做复位($行[$一])来去除特定行,但之后的数据寻求并通过成果我循环下一次我结束与原始结果行相同。
任何帮助,将不胜感激。 ps - 不知道为什么_在我的顶部文本中被删除并更改为斜体,我试图修复它,但它最终变成了粗体.. :)
好的,谢谢,那就是我最终做的。我很好奇,如果有一种方法可以直接改变mysql_query的结果本身,不要猜测:) – Rob 2009-08-05 01:22:22