php同时mysql获取数组,一次更新每10个结果,

时间:2015-08-24 05:28:15

标签: php mysql loops while-loop

我尝试使用mysql fetch数组从表获取所有数据然后更新。 我使用我的代码来做到这一点,它正常工作,但一个接一个。 我需要同时更新每10个结果,然后是其他10个结果直到结束。

我的代码是

$get_urls = mysql_query("select * from urls where (status = 'active') ORDER BY number ASC");
    while($show_url = mysql_fetch_array($get_urls, MYSQL_NUM)) {
    $urlid = $show_url['0'];

    $edit_urls = "UPDATE urls SET online = 'yes' WHERE urlid = '$urlid'";
    mysql_query($edit_urls);

    }
    mysql_free_result($get_urls);

2 个答案:

答案 0 :(得分:0)

您可以使用array& implode实现此目标

$array = array();
$get_urls = mysql_query("select * from urls where (status = 'active') ORDER BY number ASC");
    while($show_url = mysql_fetch_array($get_urls, MYSQL_NUM))
       $array[] = $show_url['0'];

$edit_urls = "UPDATE urls SET online = 'yes' WHERE urlid IN (".implode(',',$array).")";
    mysql_query($edit_urls);

答案 1 :(得分:0)

使用array_chunk

$input_array = array('a', 'b', 'c', 'd');
print_r(array_chunk($input_array, 2));
//output  
Array
(
[0] => Array
    (
        [0] => a
        [1] => b
    )
[1] => Array
    (
        [0] => c
        [1] => d
    )
)

array_chunk($data,10);
foreach ($data as $key => $value){
  // excute your sql query update. 

希望得到这个帮助。