gpt4 book ai didi

php - 如何删除通过 mysql_query 获得的特定行结果?

转载 作者:可可西里 更新时间:2023-11-01 07:49:23 26 4
gpt4 key购买 nike

我有一个 mysql_query 结果,我在代码的不同部分多次循环,每次都使用 mysql_data_seek( $result, 0 ) 重置到结果的开头。

我在这些结果上使用 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 );

我知道我可以简单地执行 unset( $row[$a] ) 来删除该特定行,但是在数据查找之后,我下次循环遍历结果时我会得到相同的原始结果行。

如有任何帮助,我们将不胜感激。ps - 不知道为什么 _ 在我的顶部文本中被删除并改为斜体,我试图修复它但它最终变成了粗体.. :)

最佳答案

最好的选择是重新编写查询,这样您就不必在对数据库运行查询后删除任何记录。那样,或者将您的记录插入到另一个数组中,然后跳过您不想要的那些。

$survivors = array();

while ($row = mysql_fetch_array($result)) { // while we have records
if (do_something($row)) // if this is a good record
$survivors[] = $row; // save it for later
}

print_r($survivors); // who survived the cut?

关于php - 如何删除通过 mysql_query 获得的特定行结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1229977/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com