Hallo,
ich habe da ein kleines Problem.
Ich arbeite gerade an einem Konverter und aufgrund von Laufzeitfehlern (60 Sec, php.ini) soll er immer nur 4 Beiträge holen.
Alles anzeigen
Das Problem ist nun, er schreibt lediglich einen Eintrag in die DB und meint er wäre fertig. Vorhanden sind 60 Einträge.
EDIT: Ich korrigiere, bei 16 Einträgen mit einer vorgabe von jeweils 4 Einträgen pro select holt er nur 8. Er läuft also nur 2 mal durch
ich habe da ein kleines Problem.
Ich arbeite gerade an einem Konverter und aufgrund von Laufzeitfehlern (60 Sec, php.ini) soll er immer nur 4 Beiträge holen.
PHP-Quellcode
- $substep = intval($request->variable('substep', '')); // Enthällt zb eine 8 wenn er bei Eintrag 8 angekommen ist
- $old_prefix = $request->variable('prefix', ''); // wird übergeben
- // Anzahl der User auslesen
- $sql = 'SELECT COUNT(user_id) AS pcount
- FROM ' . $old_prefix . 'users
- WHERE user_id <> 2
- AND user_id <> 1
- ORDER BY user_id ASC';
- $result = $db->sql_query_limit($sql, 1);
- $complete = intval($db->sql_fetchrow($result));
- $db->sql_freeresult($result);
- /*
- * User laden und Neu eintragen
- */
- $sql = 'SELECT *
- FROM ' . $old_prefix . 'users
- WHERE user_id <> 2
- AND user_id <> 1
- ORDER BY user_id ASC
- LIMIT '.$substep.', 4';
- $result = $db->sql_query($sql);
- while ($row = $db->sql_fetchrow($result)) {
- $sql_ary = array(
- 'user_id' => (int) $row['user_id'],
- 'user_type' => (int) 3,
- 'group_id' => (int) 2,
- 'user_permissions' => '',
- 'user_timezone' => $config['board_timezone'],
- 'user_dateformat' => $config['default_dateformat'],
- 'user_lang' => $config['default_lang'],
- 'user_style' => (int) $config['default_style'],
- 'user_actkey' => '',
- 'user_ip' => '',
- 'user_regdate' => $row['user_registered_since'],
- 'username' => $row['user_nickname'],
- 'username_clean' => utf8_clean_string($row['user_nickname']),
- 'user_email' => $row['user_email'],
- 'user_options' => 230271,
- 'user_sig' => '',
- 'user_sig_bbcode_uid'=> '',
- 'user_sig_bbcode_bitfield'=> '',
- 'user_posts' => $row['user_posts_per_page'],
- 'user_form_salt' => unique_id(),
- 'user_avatar' => $row['user_avatar'],
- );
- $sql = 'INSERT INTO ' . USERS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary);
- $db->sql_query($sql);
- }
- $db->sql_freeresult($result);
- if ( $substep > $complete )
- {
- header('Location: convert.php?step=2&prefix='.$old_prefix);
- }
- else
- {
- $substep = $substep+4;
- header('Location: convert.php?step=1&prefix='.$old_prefix.'&substep='.$substep);
- }
- if ( $substep > $complete )
- {
- $substep = $complete;
- }
Das Problem ist nun, er schreibt lediglich einen Eintrag in die DB und meint er wäre fertig. Vorhanden sind 60 Einträge.
EDIT: Ich korrigiere, bei 16 Einträgen mit einer vorgabe von jeweils 4 Einträgen pro select holt er nur 8. Er läuft also nur 2 mal durch
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Grommel ()