• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

bei Ausgabe alphabetisch sortieren

schlegel.berlin

New member
Hallo ihr guten Geister,

ich möchte die in einem Array abgelegten txt-Daten bei der Ausgabe in einer Tabelle aphabetisch (aufwärts) sortieren, krieg das aber nicht irgendwie ohne Hilfe scheinbar nicht hin. Vielleicht bin ich doch einfach zu blöd...
Da geht was mit "asort", aber irgendwie find ich den Dreh nicht, wie ich damit umgehen soll, weil ich auf der Leitung stehe!?

Also die Daten sind wie folgt als txt-Datei abgelegt:

Name|Stasse|PLZ Ort|Land|Telefonnummer|Mailadresse|Name|Stasse|PLZ Ort|Land|Telefonnummer|Mailadresse|... usw.
Ich generiere also bei der Ausgabe jeweils eine Tabellen-Zeile mit 6 Spalten (siehe Codeschnipsel).

Auslesen und Ausgabe sind ja einfach. Was aber muss ich mit meinem Codeschnipsel machen, damit auch sortiert wird?

Vielen Dank schon vorab für Eure Hilfe.

liebe Grüße, Karin

Code:
[HTML]
.
.
.
<table>
<tr><td =colspan="6">Members</td></tr>

<?php
// ------------- Daten einlesen ------------------->
$rows_ge = file('txt_daten/members.txt');
if (is_array ($rows_ge))
{ 
foreach ($rows_ge as $row_ge)
   {
    $values = explode ("|", $row_ge);
    $i = 0;
{
while($i < 310)
{
if($values[$i] != "")
echo '<tr><td>'.$values[$i].'</td><td>'.$values[$i+1].'</td><td>'.$values[$i+2].'</td><td>'.$values[$i+3].'</td><td>'.$values[$i+4].'</td><td>'.$values[$i+5].'</td></tr>';
$i = $i+6;
}
}
}
}
?> 
[/PHP]
</table>
.
.
.
<HTML>
 
Zuletzt bearbeitet:
Dann bau dir aus dem Array ein zweites Multi-Array auf, dieses kannst du dann später auch Spaltenweise sortieren lassen, je nachdem wie es der Nutzer gerade braucht.
 
Wer legt denn Daten so ab? Nach dem 6. Datensatz sollte eigentlich ein anderer Trenner kommen, damit die zusammengehörigen Daten von einander abgegrenzt sind.

Damit du diesen Kram sortieren kannst, musst du erstmal eine vernünftige Datenstruktur draus machen.

PHP:
$temp = explode('|', file_get_contents('txt_daten/members.txt'));
$members = array();
for($i = 0; $i < count($temp) - 6;)
{
     $members['name'][] = $temp[$i++];
     $members['Stasse'][] = $temp[$i++];
     $members['plz'][] = $temp[$i++];
     $members['land'][] = $temp[$i++];
     $members['tel'][] = $temp[$i++];
     $members['mail'][] = $temp[$i++];
}
echo '<pre>';
var_dump($members);
echo '</pre>';
Dieses Array kannst du anschließend mit array_multisort sortieren
 
Zurück
Oben