Ich habe folgendes kleines Problem. Ich habe da eine Textdatei wo mittels Separator meine Daten getrennt drin stehen:
1:
2:
3:
4:
5:
6:
7:
8: |
01|franz|arbeiter|2002
02|peter|angestellter|2003
03|thomas|arbeiter|2004
04|andy|angestellter|2003
05|karsten|angestellter|2003
06|ronny|putzfrau|2004
|
nun will ich die text-datenbank gerne mit folgenden script in ein array holen, sortieren und eine schöne liste wieder ausgeben:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31: |
$descfile = "db.txt";
global $descfile;
$datei = fopen($descfile, "r");
while($zeile = fgetcsv($datei, 1000, "|")):
$zahl[$zeile[0]] = $zeile[0];
$name[$zeile[1]] = $zeile[0];
$cat[$zeile[2]] = $zeile[0];
$date[$zeile[3]] = $zeile[0];
endwhile;
arsort($zahl);
arsort($name);
arsort($cat);
arsort($date);
foreach($zahl as $var)
{
echo key($zahl)
echo key($name)
echo key($cat)
echo key($date)
next($zahl);
next($name);
next($cat);
next($date);
}
|
das klappt bei den variablenwerten die nur einmal vorkommen (z.b. $name) auch wunderbar, nur bei denen wo der inhalt öfter gleich ist (z.b. $cat) geht die liste nicht mehr auf. der wert "arbeiter" zum beispiel wird nur einmal(!) ausgegeben. somit geht die zuordnung meiner liste total auseinander und stimmt nicht mehr mit der datenbank im textfile überein.
weiß wer hilfe - bitte?