function batch_test_update_1 in Examples for Developers 6
File
- batch_example/batch_example.install, line 17
- Batch example module's install and uninstall code.
Code
function batch_test_update_1(&$sandbox) {
$ret = array();
if (!isset($sandbox['progress'])) {
$sandbox['progress'] = 0;
$sandbox['curr_node'] = 0;
$sandbox['max'] = db_result(db_query('SELECT COUNT(nid) FROM {node}'));
}
$limit = 5;
$result = db_query_range("SELECT nid FROM {node} WHERE nid > %d ORDER BY nid ASC", $sandbox['curr_node'], 0, $limit);
while ($row = db_fetch_array($result)) {
$ret[] = update_sql('SELECT * FROM {node} WHERE nid = ' . $row['nid']);
$sandbox['progress']++;
$sandbox['curr_node'] = $row['nid'];
}
if ($sandbox['progress'] != $sandbox['max']) {
$ret['#finished'] = $sandbox['progress'] / $sandbox['max'];
}
return $ret;
}