Mein Problem ist, ich weiß nicht, wie while-Schleife zu beenden, wenn alle Zeilen importiert werden. Dies ist Drupal 7.Importieren von Daten aus TXT-Datei mit While-Schleife
Wenn ich diese while
Bedingung: while ($row = $regs->fetchAssoc())
setzen, bekomme ich es nie innerhalb der Schleife.
Wenn ich diese Bedingung verwenden Schleife zu brechen:
$cadena = array();
while (1) {
$row = $regs->fetchAssoc();
$cadena[] = $row;
if (count($cadena)<0){
break;}
ich diesen Fehler: Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 64 bytes)
Der vollständige Code ist:
$operations = array();
$items = array();
$limit = 25;
$i = 0;
$regs = db_query("SELECT * FROM {table_import_apunte} WHERE field_processed = :processed", array(':processed' => 0));
while ($row = $regs->fetchAssoc()) {
if ($i < $limit) {
$items[] = $row;
$i += 1;
} else {
$operations[] = array('csvImporter_create_nodes', array($items, 'apunte'));
$items = array();
$items[] = $row;
$i = 1;
}
}
$batch = array(
...
);