2015-08-24 49 views
0

我尝试使用,而mysql取数组,以获取表中的所有数据,然后更新。 我使用我的代码来做到这一点,它的工作权利,但一个接一个。 我需要同时更新每个10个结果然后其他10个结果。php而mysql取数组,一次更新每个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); 
+0

你的问题有点不清楚。你能修改你的语法并澄清你的问题吗? – Tim

+0

对不起我的英文不好。 结果将约为3000行 通常它会逐行更新。 我需要一次更新每10行一次然后10行等... – espoo

回答

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); 
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. 

希望这有助于。

相关问题