SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 16.05.2008, 11:33:13
myphoenixg myphoenixg ist offline
Anfänger
 
Registriert seit: May 2008
Beiträge: 4
Grosse Datei auf mysql-DB anwenden

Hallo,

mir stellt sich ein Problem bei der Bearbeitung/Abarbeitung grosser Dateien.
Es geht um Folgendes:
Es sollen Daten ( Preise ), welche in einer mysql-DB gespeichert sind mit Daten aus einer Preislistendatei ( Grösse zwischen 1.5 und 1.8 MB ) abgeglichen werden und bei Änderungen die neuen Preise in die entsprechenden Felder der DB geschrieben werden.

Das Programm funktioniert genau so wie es soll, macht jedoch bereits nach ca 40 bis 50 verglichenen Artikeln aus der DB nicht mehr weiter.
Ich denke das dies evtl am zu hohen Speicherverbrauch liegt?
Rufe ich das Programm mit einer kleineren Preislistendatei auf, so funktioniert das bis zum Ende.

Sollten Vorschläge ( insbesondere solche, die auf schnelleren Programmablauf bzw weniger Ressourcenverbrauch abzielen ) vorhanden sein, bitte ich um Mitteilung.

Ein paar Details noch zum Server: System:Linux, memory-limit:32MB, output-buffering:4096 KB, post_max_size:8MB

Das Programm:

<?php
require("datenbankzugriff.inc.php"); // Datenbank öffnen
$filename = "pricelist.txt";
$handle = fopen ($filename, "r"); // öffnen Datei
$datei_inhalt = explode("\n",fread($handle, filesize($filename))); // Datei bis eof einlesen, Zeilen trennen
fclose ($handle); // Datei schliessen
$laenge_datei=count($datei_inhalt); // Anzahl Zeilen in eingelesener Datei
for ($aa=1;$aa<8;$aa++) { // Schleife über 7 Durchläufe
// (entsprechend 7 Tabellen in der DB)
switch($aa) {
case 1:$db="Tab1"; break; // Zuordnung Tabellennamen aus DB
case 2:$db="Tab2"; break; // --> jede Tabelle soll nacheinander
case 3:$db="Tab3"; break; // abgearbeitet werden
case 4:$db="Tab4"; break;
case 5:$db="Tab5"; break;
case 6:$db="Tab6"; break;
case 7:$db="Tab7"; break;
}
$anz_art=mysql_query("SELECT id FROM $db WHERE nr>100");
$laenge_db=mysql_num_rows($anz_art); // Anzahl Artikel
$art_arr="";
for ($pp=0;$pp<$laenge_db;$pp++) {
$auswahl=mysql_fetch_row($anz_art);
$art_arr[$pp]=$auswahl[0]; // Artikelarray mit allen ID's erstellen
}
for ($ii=0;$ii<$laenge_db;$ii++) { // Schleife über alle Artikel aus Tab
for ($uu=0;$uu<$laenge_datei;$uu++) { // Schleife über alle Zeilen der Pl-datei
$zeile_array = explode("\t", $datei_inhalt[$uu]); // Tabs aufschlüsseln
if ($art_arr[$ii]==$zeile_array[0]) { // Vergleich nr in DB==id in Pl
echo "<b>$zeile_array[0]</b> Daten gefunden<br>";
// an dieser Stelle stehen Datenzuweisungen für die Variablenúpdates
mysql_query("UPDATE $db SET ..>>o.a. Daten updaten<<.. WHERE id='$art_arr[$ii]'");
break; // Schleife verlassen (spart Zeit)
}
}
}
}
echo "Updates fertig";
mysql_close(); ?>
Mit Zitat antworten
  #2  
Alt 20.05.2008, 17:22:09
nem75 nem75 ist offline
Anfänger
 
Registriert seit: May 2008
Ort: Bonn
Alter: 49
Beiträge: 29
nem75 eine Nachricht über ICQ schicken
AW: Grosse Datei auf mysql-DB anwenden

Wie wird das Programm den aufgerufen? Gibt es keine Fehlermeldung (auch mal in die error logs von php und mysql schauen)?
Mit Zitat antworten
  #3  
Alt 20.05.2008, 17:45:59
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Grosse Datei auf mysql-DB anwenden

bitte nutze die [php]-tags.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Datum in Datei für import in MySql aufbereiten blackmolle PHP Grundlagen 1 11.09.2007 09:23:43
.txt datei in Mysql importieren.. MarcS. MySQLi/PDO/(MySQL) 5 23.08.2007 17:22:01
Excel XML Datei in MySQL ? wallis MySQLi/PDO/(MySQL) 3 15.07.2005 19:10:46
TXT(speziell) Datei in MySQL übernehmen broadcastbenny MySQLi/PDO/(MySQL) 9 05.06.2005 23:01:52
Variablen aus datei in Mysql datenbank schreiben saidbuchari PHP Grundlagen 0 04.03.2004 13:12:23


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:38:35 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt