Problem mit kategorien

kevkev

Erfahrenes Mitglied
Hallo,

Ich möchte aus einer Produkt liste und einer kategorienliste die produkte auslesen lassen.
Das script erkennt die kategorien aus einer vorgegebenen liste und sucht dann bei der letzten kategorie nach dem angegebenen suchwort.
Das funktioniert zwar, aber nach ca. 20 sekunden hängt sich das script irgendwie auf, weiß aber nicht woran es liegt.

Das Script:
PHP:
<?php
include("function_countlines.php");

$file=file("preisliste1.csv");
$file2=file("kat.txt");

for ($i=0; $i<CountLines("kat.txt"); $i++){
	$kat_explode = explode("=>", $file2[$i]);
	$kat_explode_ = explode("|", $kat_explode[1]);
	$kat_explode2 = explode("|", $file2[$i]);

	$kat1[] = $kat_explode[0];
	$kat2[] = $kat_explode_[0];
	$search[] = $kat_explode2[1];
}

$kat1 = array_unique($kat1);
$kat2 = array_unique($kat2);

foreach ($kat1 as $string){
	$kat_1[] = $string;
}
foreach ($kat2 as $string){
	$kat_2[] = $string;
}


for ($i=0; $i<count($kat1); $i++){
//1. Kategorie
	echo "<b>".$kat_1[$i]."</b><br>";
	$array[] = $kat_1[$i];
	for ($a=0; $d<100; $a++){
		$explode = explode("=>", $file2[$a]); //Katgorie1
		$explode2 = explode("|", $explode[1]); //Kategorie2
		$explode3 = explode(";", $file[$a]);
		
		//2. Kategorie
		if ($explode[0]==$kat_1[$i]) {
		    echo "&nbsp;&nbsp;-<u>".$explode2[0]." [search ".$search[$a]."]</u><br>";
			
			for ($b=0; $b<count($kat_2); $b++){
				$explode = explode("=>", $file2[$a]); //Katgorie1
				$explode2 = explode("|", $explode[1]); //Kategorie2
				$explode3 = explode(";", $file[$b]);
				
				$suche = $explode2[1];

				//echo $explode2[0]."&nbsp;|&nbsp;".$kat_2[$b]."<br>";
				if ($explode2[0]==$kat_2[$b]) {
					for ($c=0; $c<100; $c++){
						$explode = explode("=>", $file2[$b]); //Katgorie1
						$explode2 = explode("|", $explode[1]); //Kategorie2
						$explode3 = explode(";", $file[$c]);
						
						$suche = $explode2[1];
					
						echo $suche."&nbsp;|&nbsp;".$explode3[2]."<br>";
						
						/*if (preg_match("/".$suche."/i", $explode3[2])) {
							    echo "&nbsp;&nbsp;&nbsp;-".$explode3[2]."<br>";
						}*/
					}
				}
			}
		}
	}
}

print_r($array);
?>

Die kat.txt:
Code:
Netzwerkkabel=>Patchkabel|patch|
Netzwerkkabel=>BNC|bnc|
Netzwerkkabel=>WLAN Antennen|wlan|
Netzwerkkabel=>Adapter|Adapter|
Netzwerktechnik=>Router|router|
Netzwerktechnik=>Hubs|hubs|
Netzwerktechnik=>Switchs|switch|
Netzwerktechnik=>KCM|kcm|
Netzwerktechnik=>Printserver|printserver|
Netzwerktechnik=>Adapter|adapter|
Datenkabel=>Drucker|drucker|
Datenkabel=>Firewire|firewire|
Datenkabel=>Serielle Kabel|seriell|
Datenkabel=>PS/2 Kabel|ps|
Datenkabel=>VGA/XGA/SVGA|VGA|
Datenkabel=>SCSI/IDE/Serial ATA|IDE|
Audio/Video/Telefon - Kabel=>Audio|audio|
Audio/Video/Telefon - Kabel=>Video|video|
Audio/Video/Telefon - Kabel=>ISDN|isdn|
USB & Firewire=>USB|usb|
USB & Firewire=>USB Geräte|usb geräte|
USB & Firewire=>USB Schnittstellen|schnittstelle|
Kühler & Lüfter=>Gehäuse|gehäuse|
Kühler & Lüfter=>CPU|cpu|
Kühler & Lüfter=>Festplatten|festplatte|
Kühler & Lüfter=>Grafikkarten|grafikkarte|
Bürozubehör=>Taschen|taschen|
Bürozubehör=>PAD´s|pad|
Ein - u. Ausgabegeräte=>Tastatur|tastatur|
Ein - u. Ausgabegeräte=>Mäuse|mäuse|
Ein - u. Ausgabegeräte=>Drucker|drucker|
Ein - u. Ausgabegeräte=>Microfone|drucker|

Und hier ein teil der preisliste1.csv:
Code:
BA-116;4035259011169;Scart S-VHS Adapter;21-pol. Scart Male an 3 x Chinch Stecker +;1 x S-VHS Buchse, Signalrichtung umschaltbar;2005/S.099;14.07.2004;2,41;10,00;1,83;100,00;1,47;;;;5,145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BA-190;4035259011909;PS/2 Keyboard-Adapter - 0,15m;6-pol. Mini-DIN Stecker an 5-pol. DIN Buchse;Kabel-Adapter;2005/S.085;14.07.2004;0,82;10,00;0,74;100,00;0,52;;;;2,6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BA-191;4035259011916;PS/2 Keyboard-Adapter - 0,15m;6-pol. Mini-DIN Buchse an 5-pol. DIN Stecker;Kabel-Adapter;2005/S.085;14.07.2004;0,82;10,00;0,74;100,00;0,52;;;;2,6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BA-205;4035259012050;Audio Y-Adapter Stereo 3,5mm;3,5mm Stereo Klinken Stecker an;2 x 3,5mm Stereo Klinken Buchse;2005/S.100;14.07.2004;0,59;10,00;0,52;100,00;0,37;;;;1,85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BB-100;4035259021007;Antennenkabel Reverse SMA an SMA -  1,0m;Reverse SMA Stecker an SMA Stecker;;2005/S.023;12.07.2004;13,20;0,00;13,20;0,00;13,20;;;;23,76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BB-101;4035259021014;Antennenkabel Reverse SMA an SMA -  3,0m;Reverse SMA Stecker an SMA Stecker;;2005/S.023;12.07.2004;14,45;0,00;14,45;0,00;14,45;;;;26,01;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BB-102;4035259021021;Antennenkabel Reverse SMA an SMA -  5,0m;Reverse SMA Stecker an SMA Stecker;;2005/S.023;12.07.2004;15,40;0,00;15,40;0,00;15,40;;;;27,72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BB-105;4035259021052;Antennenkabel Reverse SMA -  3,0m;Reverse SMA Stecker an Reverse SMA Buchse;;2005/S.023;12.07.2004;12,80;0,00;12,80;0,00;12,80;;;;23,04;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BB-106;4035259021069;Antennenkabel Reverse SMA -  5,0m;Reverse SMA Stecker an Reverse SMA Buchse;;2005/S.023;17.11.2004;14,70;0,00;14,70;0,00;14,70;;;;26,46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BB-107;4035259021076;Antennenkabel Reverse SMA - 10,0m;Reverse SMA Stecker an Reverse SMA Buchse;;2005/S.023;12.07.2004;18,20;0,00;18,20;0,00;18,20;;;;32,76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BB-110;4035259021106;Antennenkabel Reverse SMA an N -  3,0m;Reverse SMA Stecker an N Stecker;RG58 Koaxialkabel;2005/S.023;12.07.2004;17,60;0,00;17,60;0,00;17,60;;;;31,68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BB-111;4035259021113;Antennenkabel Reverse SMA an N -  5,0m;Reverse SMA Stecker an N Stecker;RG58 Koaxialkabel;2005/S.023;12.07.2004;19,85;0,00;19,85;0,00;19,85;;;;35,73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BB-112;4035259021120;Antennenkabel Reverse SMA an N - 10,0m;Reverse SMA Stecker an N Stecker;RG58 Koaxialkabel;2005/S.023;12.07.2004;22,50;0,00;22,50;0,00;22,50;;;;40,5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BB-280;4035259022806;UTP Patchkabel Cat 5e -   1,00m;2 x RJ45 Stecker;Belegung 1:1;2005/S.016;19.08.2004;0,59;10,00;0,55;50,00;0,49;;;;2,45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BB-281;4035259022813;UTP Patchkabel Cat 5e -   2,00m;2 x RJ45 Stecker;Belegung 1:1;2005/S.016;19.08.2004;0,89;10,00;0,85;50,00;0,79;;;;3,95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BB-282;4035259022820;UTP Patchkabel Cat 5e -   3,00m;2 x RJ45 Stecker;Belegung 1:1;2005/S.016;19.08.2004;1,09;10,00;1,05;50,00;0,99;;;;4,95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BB-283;4035259022837;UTP Patchkabel Cat 5e -   5,00m;2 x RJ45 Stecker;Belegung 1:1;2005/S.016;19.08.2004;1,49;10,00;1,45;50,00;1,39;;;;4,865
BB-284;4035259022844;UTP Patchkabel Cat 5e -  10,00m;2 x RJ45 Stecker;Belegung 1:1;2005/S.016;19.08.2004;2,49;10,00;2,45;50,00;2,39;;;;8,365
BC-103;4035259011039;HDD AT-Bus Kabel - 0,75m;für zwei IDE-Festplattenlaufwerke;4 x 40-pol. Pfostenstecker;2005/S.093;14.07.2004;0,99;10,00;0,96;100,00;0,85;;;;4,25
BC-109;4035259011091;FDD Anschlusskabel -0,60m;für zwei Diskettenlaufwerke 3,5´´;3 x 34-pol. Pfostenstecker;2005/S.093;14.07.2004;0,99;10,00;0,88;100,00;0,62;;;;3,1
BC-111;4035259011114;FDD Rundkabel - 0,45m;mit 3 x 34-pol. Buchsenleiste;für 2 x 3,5'' Laufwerke;2005/S.093;14.07.2004;1,52;10,00;1,36;100,00;0,92;;;;4,6
BC-120;4035259011206;VGA Monitorkabel -  1,80m;15-pol. HD D-Sub Stecker an;15-pol. HD D-Sub Stecker;2005/S.086;14.07.2004;1,29;10,00;1,16;100,00;1,10;;;;3,85
BC-121;4035259011213;VGA Monitorverlängerung -  1,80m;15-pol. HD D-Sub Stecker an;15-pol. HD D-Sub Kupplung;2005/S.086;14.07.2004;1,29;10,00;1,16;100,00;0,89;;;;4,45
BC-136;4035259011367;HDD AT-Bus Kabel - 0,60m;für 2 x IDE-Festplattenlaufwerke;3 x 40-pol. Pfostenstecker;2005/S.093;06.01.2005;0,40;10,00;0,38;100,00;0,34;;;;1,7
BC-137;4035259011374;HDD AT-Bus Kabel - 0,75m;für zwei IDE-Festplattenlaufwerke;3 x 40-pol. Pfostenstecker;2005/S.093;19.08.2004;0,62;10,00;0,59;100,00;0,55;;;;2,75
BC-172;4035259011725;SVGA Monitorkabel -  1,80m;15-pol. HD D-Sub Stecker / Stecker;UL2919, 2-fach geschirmt;2005/S.086;14.07.2004;1,85;10,00;1,76;100,00;1,55;;;;5,425
BC-176;4035259011763;SVGA Verlängerungskabel -  1,80m;15-pol. HD D-Sub Stecker / Buchse;UL2919, 2-fach geschirmt;2005/S.086;14.07.2004;1,85;10,00;1,76;100,00;1,55;;;;5,425
BC-200;4035259012005;Kaltgerätekabel - 1,80m;220 Volt Schuko-Stecker an;Kaltgeräte-Buchse;2005/S.154;11.08.2004;0,94;10,00;0,91;100,00;0,85;;;;4,25
BC-206;4035259012067;Kaltgeräte Verlängerung - 1,80m;220 Volt Kaltgeräte-Stecker an;Kaltgeräte-Buchse;2005/S.154;11.08.2004;0,85;10,00;0,82;100,00;0,77;;;;3,85
BC-208;4035259012081;Euro Netzkabel - 1,80m;220 Volt Euro-Stecker an;´´8-Form Kupplung´´;2005/S.154;06.01.2005;0,61;10,00;0,59;100,00;0,55;;;;2,75

Die function_countlines.php ist nur eine funktion die die zeilen einer text datei zählt und den wert anzahl zeilen ausgibt.

Findet jemand den fehler?

gruß kevin
 
Hmpf.. nach 20 Sekunden. Das ist ja ne ewigkeit für solch ein Script. Bist du dich nicht in einer Schleife aufhängst? Sonst mach mal ein echo irgendwo damit du siehst ob er hängenbleibt oder nicht. Wenn nicht heissts wohl entweder Timeout limit erhöhen oder Script optimieren ;)

MFG
redX
 
Hi,

Das script läuft vielleicht 1mal in einem monat, das ist nur da um kategorien zu aktualisieren.
Also das script hängt immer an der gleichen stelle, weiß aber nicht warum.

gruß kevin
 
An welcher stelle Hängt er den genau? kannst du das mit echo's eingrenzen?
Vielleicht ist ein Fehler in den foreach schleifen, sodas die bedingung nie erfült wird lass dir mla immer vorher die Werte ausgeben um sicherzugehn, dass hier kein Fehler liegt.
 
Hi,

Also ich habs jetzt nicht über die textdatei gemacht, sondern die kategorien über array´s auslesen lassen, und man schaue => Es funktioniert :)!

gruß kevin
 
Zurück