WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » Textdatei sortieren mit PHP » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Textdatei sortieren mit PHP
von lexx
Erfolgsmitteilung: Problem gelöst, patient tot
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:
function sortieren ($datei, $f)
{
 $i = 0; 
 $fp = @fopen($datei,"r"); $ds=count($datei);
    while ($inhalt= @fgets($fp,1000)) 
 {   
      $feld=explode("|",$inhalt); 
   echo "lese feld1 = $feld[1] "; 
   $daten1 = array ("feld1"=>$feld[1], "feld2"=>$feld[2],"feld3"=>$feld[3],"feld4"=>$feld[4],"feld5"=>$feld[5]);
   echo "noch da: daten1 = $daten1[feld1] ";
   $daten = array ($daten1, $i);
   echo "schwups weg: daten = ".$daten[feld1][$i]."
";
   $i++;
    } 
   @fclose($fp); 
   
   
   for($y=0;$y<$ds;$y++) 
   {  
   echo "DS $y = ".$daten[feld1][$y]."  - ".$daten[feld2][$y]."  - ".$daten[feld3][$y]." 
"; 
   };

return "Daten weggezaubert nu gibbed nücht mehr zu sortiere...";
}


neues problem, suche strick zum aufhängen
von raiserle
siehste, und schon wieder nicht drüber nachgedacht.
ich werde dir den quellcode hierzu nicht posten, da er, wenn du die 3 anhaltspunkte
so nimmst, wie sie dastehen, nicht einmal 5 zeilen code ausmachen..

das problem, den incrementellen wert als erstes in der datenstruktur zu bringen führt eben immer dazu, das du nen fehler erhälts.
deswegen ahtte ich dir ja geraten, es sorum zu machen.

der name der arrayvariablen gefollgt von dem assoziativarray was der vorname oder name sein kann dieser wiederrum enthält das array mit dem incrementellen indize

$m[vorname][0]="Max";

und dummstellen muss man sich schon gar nicht. du sagtest du wolltest sortieren, bitte:
$wonach_sortieren, oder $indize oder... oder...
irgendwoher muss ich doch wissen wonach.
also steht in $wonach_sortieren der assoziative index. eben vorname, name oder ort..

ach egal habs satt zu erklären.. hier haste dein achso hochkoplexer quellcode...

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22:
<?php
$m[vorname][0]="Herbert";$m[name][0]="Test";$m[ort][0]="Hier";
$m[vorname][1]="Detlef";$m[name][1]="Mustermann";$m[ort][1]="Nirgendwo";

echo "Wonach wollen Sie sortieren<br />";

foreach($m AS $data => $wert){
        echo '<a href="?sort='.$data.'">'.$data.'</a> ' ;
}

if($_GET['sort']){
    $wonach_sortieren=$_GET['sort'];    // 1. zeile code
    echo $wonach_sortieren."<br />";
    natcasesort($m[$wonach_sortieren]);    // 2. zeile code
    foreach($m[$wonach_sortieren] AS $indize => $wert){    // 3. zeile
        echo $m[vorname][$indize]." ".$m[name][$indize]." ".$m[ort][$indize]."<br />";    // 4. zeile
    }    // 5. zeile
}

?>


und jetzt frag nicht wieso nur 5 zeilen code oder was jede zeile macht.. finds selber raus.
sorry bei solch unüberlegtem rumgepflaume, da kommt mir....

übrigens... mit so einer einstellung kommste nicht weit, egal wo.
von lexx

es hat auch nichts damit zu tun etwas für mich zu behalten,
eher mehr damit, die faulen nicht zu ermutigen immer nur fragen zu stellen.


von wegen faulheit, seit 14 tagen versuch ich es und kriegs nicht hin
und bei 3000 zeilen code ist ja wohl von faulheit auch keine rede.
da erwartet man nen bisschen hilfe und kriegt nur unverständliche
antworten mit denen man auch nichts anfangen kann..
klasse... echt, danke,
die eine hälfte der möchtegern-programmierer wissen auch nicht wie´s geht,
und die andere hälfte hält sich für so überschlau das se meint ihr chinesisch
sei ja wohl eindeutig ...



als ratschlag und hilfe:
-übernimm die datenstruktur so wie dort oben
-benutze natcasesort(); auf das array
-benutze danach eine foreach() und setze das indize welches nach dem sortieren
von dem jeweiligen assozitaiv-array kommt auf $m[assoziativ][indize] ein



ich versteh das nicht, ist denn das sooo schwer zu verstehen ???

foreach($m[$wonach_sortieren] AS $indize => $wert)

ich hab numal keine $wonach_sortieren - Variable...
und ich hab auch keine $indize, und $wert hab ich auch nicht
und ich weiss auch nicht was du da in deiner göttlichen klugheit da
gern sehen würdest..

und das manual hab ich schon so oft studiert das ich es vorbeten kann,
nur geholfen hat es nicht...

meine datenstruktur ist so..
$daten[$i] = array ($feld[1],$feld[2],$feld[3]);
und nicht umgedreht...und ich möchte nichts anderes als nach $feld xyz sortieren

das kann doch nicht so schwer sein das mal verständlich
und so zu demonstrieren das der rest der menschheit auch mal nen erfolgserlebnis hat.

ich brauch nen richtig anständiges beispiel was nicht "detlev" vor "mustermann" setzt
sondern "Mustermann" vor "test" und idealerweise auch noch 2434 vor 11432.

sorry aber ich bin nicht als göttlicher php-programmierer ausm ei gekrabbelt
sondern nur nen otto-normal-sterblicher der hilfe sucht, weil ers allein einfach nicht begreift.

das ist übrigens mein 4. Beitrag !
von raiserle
ja wohl wahr $m
;)

und man sollte die datenstruktur noch ein wenig anders wählen, damit es leichter
zu sortieren ist. vielelicht den index hintendran hängen

$m[vorname][0]="Herbert";$m[name][0]="Test";$m[ort][0]="Hier";
$m[vorname][1]="Detlef";$m[name][1]="Mustermann";$m[ort][1]="Nirgendwo";

und vielleicht solltet ihr mal weniger rummaulen und eher mehr die manuals auf php.net
lesen. ganz zu schweigen von der grauen masse anzuschmeissen. es hat auch nichts
damit zu tun etwas für mich zu behalten, eher mehr damit, die faulen nicht zu ermutigen immer nur fragen zu stellen.
als ratschlag und hilfe:
-übernimm die datenstruktur so wie dort oben
-benutze natcasesort(); auf das array
-benutze danach eine foreach() und setze das indize welches nach dem sortieren
von dem jeweiligen assozitaiv-array kommt auf $m[assoziativ][indize] ein

noch nen kleiner tip:

foreach($m[$wonach_sortieren] AS $indize => $wert)
von lexx

http://de.php.net/manual/de/function.array-multisort.php könnt dir helfen.


hab ich auch versucht, kommen auch nur fehler raus


function sortieren ($datei, $f) // $f ist das feld welches sortiert werden soll...
{
$i = 0;
$fp = @fopen($datei,"r"); $ds=count($datei);
while ($inhalt= @fgets($fp,1000))
{
$feld=explode("|",$inhalt); $daten[$i] = array ($feld[1],$feld[2],$feld[3]); $i++;
}
@fclose($fp);
for($y=0;$y<$ds;$y++)
{
sort ( $daten[$y][$f]); //oder alternativ
//array_multisort($y, $f);
echo "sortiere ".$daten[$y][$f]."<br>";
};
};

Fehler bei sort:
sort() expects parameter 1 to be array, string given in

Fehler bei array_multisort:
Argument #1 is expected to be an array or sorting flag that has not already been specified
von languitar
raiserle schrieb am 18.09.2006 14:54
$[m][0][vorname]="gustav";$[m][0][name]="mustermann";$[m][0][xyz]="wert";
$[m][1][vorname]="egon";$[m][1][name]="musterfrau";$[m][1][xyz]="blabla";


Überleg noch mal, was du da gepostet hast? Das ist ja nicht mal valide PHP-Syntax.

http://de.php.net/manual/de/function.array-multisort.php könnt dir helfen.
von lexx

lexx, zu dir. wenn du die daten in dieser form durch dein script aufbereitet hasst,
sollte sich die fragen, nach dem:
Wie sortiere ich nun nach dem 2. Feld?
erübrigt haben.


entschuldige das man überhaupt fragt, nu bin ich genauso schlau wie vorher....
endlich jemand der weiss wie es geht und es tapfer für sich behält...

bei mir sind doch eh so gespeichert, wobei $id das erste array ist.
$m[0][vorname]="gustav"; $m[0][name]="mustermann";
$m[1][vorname]="egon"; $m[1][name]="musterfrau"; $m[1][xyz]="blabla";

und sort ( $m[$id][vorname] ); führt leider permanent zu nem fehler
Warning: sort() expects parameter 1 to be array

davon abgesehen

$[m][0][vorname]="gustav";

hä, haste dich da nicht bei $[m] verschieben ?

und kannste nichtmal die ganze funktion aufschreiben damit man weiss wo du das sort einfügst.
von raiserle
was ich bei diesem uralten Problem nicht verstehe.
warum speichert ihr die daten denn nicht gleich als array mit einem incrementellen wert.
spart zeit und arbeit.

die datensätze müssten dann ungefähr so aussehen
$[m][0][vorname]="gustav";$[m][0][name]="mustermann";$[m][0][xyz]="wert";
$[m][1][vorname]="egon";$[m][1][name]="musterfrau";$[m][1][xyz]="blabla";

wenn man das gleich so speichert, hat man viel weniger arbeit, man muss dann nicht erst den ganzen quatsch in dieser form wieder aufbereiten.
lexx, zu dir. wenn du die daten in dieser form durch dein script aufbereitet hasst,
sollte sich die fragen, nach dem:
Wie sortiere ich nun nach dem 2. Feld?
erübrigt haben.
von lexx
dnue schrieb am 28.09.2003 23:34
Es hat funktioniert mit:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8:
$sort = file("members"); 
sort($sort);   // wie sortiert man nach feld2 ????
$sorted = implode("", $sort); 
$datei = fopen("members", "w"); 
fputs($datei, $sorted); 
fclose($datei); 



sorry das ich mich einmische, ich hab das gleiche problem,
also wenn de uns jetzt noch zeigst, wie man nach dem 2. Feld (z.b. dem nachnamen)
sortiert, kriegste mind. 5 bienchen und nen virtuellen schmatzer obendrauf
von dnue
Es hat funktioniert mit:

1: 
2: 
3: 
4: 
5: 
6:
$sort = file("members"); 
sort($sort); 
$sorted = implode("", $sort); 
$datei = fopen("members", "w"); 
fputs($datei, $sorted); 
fclose($datei); 
von dnue
Leider, löscht es mir den Inhalt der "members" Datei. Was soll ich machen?

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23:
<?
include("config.php");

function replace() {
global $eintraege;
$eintraege = str_replace('\"', '"', $eintraege);
$eintraege = str_replace('|@|', '~', $eintraege);
}
function delete_line($line, $change) {
$entries = file("members");
if(empty($change)) {
unset($entries[$line]);
} else {
$entries[$line-1] = $change; }
$newentries = implode("", $entries);
$datei = fopen("members", "w");

fputs($datei, $newentries);
fclose($datei);
$array = file("members");
sort($array);
$datei = fopen("members", "w");
?>


ich habe das ganze in die kopfphp-zeile eingefügt.
Wenn ich es unterhalb einfüge, löscht es den inhalt der "members" datei nicht mehr aber es passiert auch nichts auch keine fehlermeldung, was manchmal besser wäre !

Danke für eure Hilfe!

best wishes!
von HG
dnue schrieb am 11.09.2003 22:16
$array = file("members");
sort($array);)
$datei = fopen("members", "w");

Ich hab mir mal die Freiheit genommen, die fragliche Klammer fett zu markieren. Die einfach raus, und es sollte funktionieren.
von dnue
sorry, ich bin glaube ich zu blöd für das!

ich habe jetzt folgendes gemacht:

$array = file("members");
sort($array);)
$datei = fopen("members", "w");

es kommt jedoch immer eine fehlermeldung:
Parse error: parse error, unexpected ')'

wo genau bei der datei muss ich das einfügen und ist das korrekt so?
ich habe es auf zeile 18 eingefügt (siehe oben)

danke!

p.s.: ich weiss, dass es mit einer datenbank einfacher wäre aber ich mache die page für einen verein, und es ist bereits alles gegeben und halt leider ohne datenbank!!!
von HG
Nun, ein Datenmodell hätte gereicht, persönliche Daten deiner Nutzer wären nicht von Nöten gewesen. (Kann vielleicht ein Mod oder dnue selber ändern), aber zum Problem:

1. Wenn du nur nach dem Vornamen sortieren willst, dann sollte Cans Ansatz absolut funktionieren.
2. Wenn du nach dem Nachnamen sortieren willst, dann musst du wohl ein bißchen in die Trickkiste greifen, weil erst das zweite Datenfeld die entsprechende Information bereithält.

Im zweiten Fall müsstest du jede einzelne Datenzeile aufbrechen, wieder zusammensetzen in der entsprechenden Reihenfolge, und dann die Ausgabe starten.

Einfacher ginge es per Datenbank (Entschuldigung, ich will damit sicher nicht nerven, nur einen Tip geben...)
von dnue
so sieht die txt datei aus:

hoschi|@|xxxx|@|neuweg 2|@|xxxx schleimburg|@|234 xxxx
von Can
michaelh schrieb am 10.09.2003 17:44
So ein Script versteht doch nur noch der der es programmiert hat.


Wenn überhaupt
von michaelh
So ein Script versteht doch nur noch der der es programmiert hat.
von HG
Soll möglicherweise als Aufruf dienen, mit Datenbanken und Templates zu arbeiten. .

Sinnvoller wäre aber eine Beispielszeile aus der Datei adressen.txt (der Eintrag von Max Mustermann scheint passend zu sein )
von Can
Bitte was?
von dnue
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: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
56: 
57: 
58: 
59: 
60: 
61: 
62: 
63: 
64: 
65: 
66: 
67: 
68: 
69: 
70: 
71: 
72: 
73: 
74: 
75: 
76: 
77: 
78: 
79: 
80: 
81: 
82: 
83: 
84: 
85: 
86: 
87: 
88: 
89: 
90: 
91: 
92: 
93: 
94: 
95: 
96: 
97: 
98: 
99: 
100: 
101: 
102: 
103: 
104: 
105: 
106: 
107: 
108: 
109: 
110: 
111: 
112: 
113: 
114: 
115: 
116: 
117: 
118: 
119: 
120: 
121: 
122: 
123: 
124: 
125: 
126: 
127: 
128: 
129: 
130: 
131: 
132: 
133: 
134: 
135: 
136: 
137: 
138: 
139: 
140: 
141: 
142: 
143: 
144: 
145: 
146: 
147: 
148: 
149: 
150: 
151: 
152: 
153: 
154: 
155: 
156: 
157: 
158: 
159: 
160: 
161: 
162: 
163: 
164: 
165: 
166: 
167: 
168: 
169: 
170: 
171: 
172: 
173: 
174: 
175: 
176: 
177: 
178: 
179: 
180: 
181: 
182: 
183: 
184: 
185: 
186: 
187: 
188: 
189: 
190: 
191: 
192: 
193: 
194: 
195: 
196: 
197: 
198: 
199: 
200: 
201: 
202: 
203: 
204: 
205: 
206: 
207: 
208: 
209: 
210: 
211: 
212: 
213: 
214: 
215: 
216: 
217: 
218: 
219: 
220: 
221: 
222: 
223: 
224: 
225: 
226: 
227: 
228: 
229: 
230: 
231: 
232: 
233: 
234: 
235: 
236: 
237: 
238: 
239: 
240: 
241: 
242: 
243: 
244: 
245: 
246: 
247:
<?
include("config.php");
function replace() {
global $eintraege;
$eintraege = str_replace('\"', '"', $eintraege);
$eintraege = str_replace('|@|', '~', $eintraege);
}
function delete_line($line, $change) {
$entries = file("members");
if(empty($change)) {
unset($entries[$line]);
} else {
$entries[$line-1] = $change; }
$newentries = implode("", $entries);
$datei = fopen("members", "w");
fputs($datei, $newentries);
fclose($datei); 
}
?>

<html>
<head>
<title><?echo $titel;?></title>
<style TYPE="text/css">
<?echo $style;?>
</style>
</head>
<body bgcolor=<?echo $hgfarbe;?> text=<?echo $textfarbe;?> link=<?echo $linkfarbe;?> vlink=<?echo $vlinkfarbe;?> alink=<?echo $alinkfarbe;?>>

<? if($seite == "" || $seite == "members") {
echo "<center><a href=\"members.php?seite=addmember\">Mitglieder hinzufügen</a></center>
";
$datei = file("members");
$linien = sizeof($datei);
if ($linien == 0) echo "<center><b>Keine Mitglieder eingetragen!</b></center>";
else { ?>


<table width="<?echo $tabellenbreite; ?>" border="<?echo $tabellenrahmen;?>" bgcolor="<?echo $hgtabelle?>" cellpadding="5" cellspacing="0" align="center" style="border-collapse: collapse" cellpadding="2" bordercolor="#000000">
<tr align="center"><td><b>Vor-und Nachname</b></td><td width="200"><b>PLZ/Ort</b></td><td><b>Telefonnummer</b></td><td></td></tr>
<?
$nummer = 0;
for ($i = 0; $i < $linien ; $i++)  {
$eintraege = explode ("|@|", $datei[$i]);
replace();
echo "<tr align=\"center\">";
if(!empty($eintraege[0])) { echo "<td width=20%><a href=\"members.php?seite=memberdetails&member=$i\">".$eintraege[0]." ".$eintraege[1]."</a></td>"; }
if(!empty($eintraege[3])) { echo "<td width=20%>".$eintraege[3]."</td>"; }
if(!empty($eintraege[4])) { echo "<td width=20%>".$eintraege[4]."</td>";
echo "</td><td width=\"40%\" align=\"right\">"; }
if(!empty($eintraege[5])) { echo "  <a href=\"mailto:".$eintraege[5]."\"><img src=\"images/email.gif\" border=\"0\" alt=\"".$eintraege[5]."\"></a>"; }
if(!empty($eintraege[6])) { echo "  <a href=\"http://wwp.icq.com/scripts/search.dll?to=".$eintraege[6]."\"><img src=\"http://web.icq.com/whitepages/online?icq=".$eintraege[6]."&img=5\" border=\"0\" alt=\"".$eintraege[6]."\"></a>"; }
echo "    <a href=\"members.php?seite=editieren&nummer=".$nummer."\"><img src=\"images/edit.gif\" border=\"0\" alt=\"Editieren\"></a>  <a href=\"members.php?seite=loeschen&nummer=".$nummer."&member=".$eintraege[0]."\"><img src=\"images/delete.gif\" border=\"0\" alt=\"Löschen\"></a>";
echo "</td></tr>";
$nummer++;
}
echo "</table>";
}
?>

<table width="220" border="<?echo $tabellenrahmen;?>" bgcolor="<?echo $hgtabelle?>" cellpadding="5" cellspacing="0" align="center" style="border-collapse: collapse" cellpadding="2" bordercolor="#000000"><tr>
  <td bgcolor="<?echo $hgtabelle;?>" align="center" valign="middle">
  © 2003 by <a href="http://www.netprofi.ch" target="_blank">netprofi.ch</a></td>
</tr></table>
<?}
elseif($seite == "memberdetails") {
$datei = file("members");
$eintraege = explode ("|@|", $datei[$member]);
replace();
?>
<table width="<?echo $tabellenbreite;?>" border="<?echo $tabellenrahmen;?>" bgcolor="<?echo $hgtabelle;?>" cellpadding="5" cellspacing="0" align="center" style="border-collapse: collapse" bordercolor="#000000">
<tr><td><u><b>Member Info</b></u></td><td></td></tr><?
if(!empty($eintraege[0])) echo "<tr><td width=30%><b>Vorname:</b></td><td align=center>".$eintraege[0]."</td></tr>"; 
if(!empty($eintraege[1])) echo "<tr><td><b>Nachname:</b></td><td align=center>".$eintraege[1]."</td></tr>"; 
if(!empty($eintraege[2])) echo "<tr><td><b>Adresse:</b></td><td align=center>".$eintraege[2]."</td></tr>"; 
if(!empty($eintraege[3])) echo "<tr><td><b>PLZ / Ort:</b></td><td align=center>".$eintraege[3]."</td></tr>";
if(!empty($eintraege[4])) echo "<tr><td><b>Telefonnummer:</b></td><td align=center>".$eintraege[4]."</td></tr>";
if(!empty($eintraege[5])) echo "<tr><td><b>E-Mail:</b></td><td align=center>".$eintraege[5]."</td></tr>";
if(!empty($eintraege[6])) echo "<tr><td><b>Icq:</b></td><td align=center>".$eintraege[6]."</td></tr>";
if(!empty($eintraege[7])) echo "<tr><td><b>Natelnummer:</b></td><td align=center>".$eintraege[7]."</td></tr>";
echo "<tr><td> </td><td> </td></tr>";
echo "</table>";
echo "
<center><a href=members.php?seite=members>Zurück</a>";
}
elseif($seite == "addmember") {
?>
<table width="<?echo $tabellenbreite;?>" border="<?echo $tabellenrahmen;?>" bgcolor="<?echo $hgtabelle;?>" cellpadding="2" cellspacing="0" align="center" style="border-collapse: collapse" bordercolor="#000000"><form action="members.php?seite=addmember" method="post" name="form1">
  <tr> 
    <td><u><b>Mitglieder Info</b></u></td>
    <td></td>
  </tr>
  <tr> 
    <td width="30%"><b>Vorname</b></td>
    <td align="center"><input type="text" name="name" size="20"></td>
  </tr>
  <tr> 
    <td><b>Nachname</b></td>
    <td align="center"><input type="text" name="realname" size="20"></td>
  </tr>
  <tr> 
    <td><b>Adresse</b></td>
    <td align="center"><input type="text" name="age" size="20"></td>
  </tr>
  <tr> 
    <td><b>PLZ/Ort</b></td>
    <td align="center"><input type="text" name="nation" size="20"></td>
  </tr>
  <tr> 
    <td><b>Telefonnummer</b></td>
    <td align="center"><input type="text" name="status" size="20"></td>
  </tr>
  <tr> 
    <td><b>E-Mail:</b></td>
    <td align="center"><input type="text" name="email" size="20"></td>
  </tr>
  <tr> 
    <td><b>Icq:</b></td>
    <td align="center"><input type="text" name="icq" size="20"></td>
  </tr>
  <tr> 
    <td><b>Natelnummer</b></td>
    <td align="center"><input type="text" name="map" size="20"></td>
  </tr>
  <tr> 
    <td> </td>
    <td> </td>
  </tr>
  <tr> 
    <td><u><b>Member eintragen</b></u></td>
    <td></td>
  </tr>
  <tr> 
    <td><b>Passwort:</b></td>
    <td align="center"><input type="password" name="pass" size="20"></td>
  </tr>
</table>
<center>
<input type="submit" name="submit" value="Eintragen"></center>
</form>
<center><a href="members.php?seite=members">Zurück</a></center>
<?
if($submit) {
if($pass == $passwort) {
$datei = "members";
$input = "$name|@|$realname|@|$age|@|$nation|@|$status|@|$email|@|$icq|@|$map|@|$weapon|@|$motto|@|$cpu|@|$ram|@|$hdd|@|$gfx|@|$monitor|@|$maus|@|$connection|@|$anbieter|@|\n";
$fp = fopen($datei, "r");
while(!feof($fp)) {
$eintraege = fgets($fp, 1000);
$input .= $eintraege;
}
fclose($fp);
$fp = fopen($datei, "w+");
fputs($fp, $input);
fclose($fp);
echo "<script>location.href=\"members.php\";</script>";
}
else echo "<script>alert('Falsches Passwort!')</script>";
}
}
if($seite == "loeschen") { ?>
<table width="<?echo $tabellenbreite;?>" border="<?echo $tabellenrahmen;?>" bgcolor="<?echo $hgtabelle;?>" cellpadding="2" cellspacing="0" align="center" style="border-collapse: collapse" bordercolor="#000000"><tr><td>
<center><b>Member <?echo $member;?> wirklich löschen?</b>

<form action="members.php?seite=loeschen" method="post" name="form1">
<b>Passwort:</b>
<input type="password" name="pass" size="20" class="input" maxlength="20">


<input type="hidden" name="nummer" value="<?echo $nummer;?>">
<input type="submit" name="submit" value="Ja">  <input type="submit" name="submit" value="Nein"></form>
</td></tr></table><?
if($submit == "Ja") {
if($pass == $passwort) {
delete_line($nummer, "");
echo "<script>location.href=\"members.php?seite=members\";</script>"; }
else echo "<center>

<b>Falsches Passwort!</center>"; }
if($submit == "Nein") echo "<script>location.href=\"members.php?seite=members\";</script>"; }
if($seite == "editieren") { ?>
<table width="<?echo $tabellenbreite;?>" border="<?echo $tabellenrahmen;?>" bgcolor="<?echo $hgtabelle;?>" cellpadding="2" cellspacing="0" align="center" style="border-collapse: collapse" bordercolor="#000000"><tr><td><?
$datei = file("members");
$eintraege = explode ("|@|", $datei[$nummer]);
$eintraege = str_replace('\"', '"', $eintraege);
?><form action="members.php?seite=editieren" method="post" name="form3"><center>
<b><u>Member Info</u></b>


<b>Vorname:</b>
<input type="text" name="name" size="20" class="input" value="<?echo $eintraege[0];?>">


<b>Nachname:</b>
<input type="text" name="realname" size="20" class="input" value="<?echo $eintraege[1];?>">


<b>Strasse/Nr:</b>
<input type="text" name="age" size="20" class="input" value="<?echo $eintraege[2];?>">


<b>PLZ/Ort:</b>
<input type="text" name="nation" size="20">


<b>Telefonnummer:</b>
<input type="text" name="status" size="20">


<b>E-Mail:</b>
<input type="text" name="email" size="20" class="input" value="<?echo $eintraege[5];?>">


<b>Icq:</b>
<input type="text" name="icq" size="20" class="input" value="<?echo $eintraege[6];?>">


<b>Natelnummer:</b>
<input type="text" name="map" size="20" class="input" value="<?echo $eintraege[7];?>">






<input type="hidden" name="nummer" value="<?echo $nummer;?>">
<b>Passwort:</b>
<input type="password" name="pass" size="20" class="input" maxlength="20">


<input type="submit" name="submit" value="Editieren">  <input type="submit" name="submit" value="Abbruch"></from>


</td></tr></table><?
if($submit == "Editieren") {
if($pass == $passwort) {
$edit = "$name|@|$realname|@|$age|@|$nation|@|$status|@|$email|@|$icq|@|$map|@|$weapon|@|$motto|@|$cpu|@|$ram|@|$hdd|@|$gfx|@|$monitor|@|$maus|@|$connection|@|$anbieter|@|\n";
$nummer++;
delete_line($nummer, $edit);
echo "<script>location.href=\"members.php?seite=members\";</script>"; }
else echo "<center>

<b>Falsches Passwort!</center>"; }
if($submit == "Abbruch") echo "<script>location.href=\"members.php?seite=members\";</script>"; }
?>
</body>
</html>
von Can
Wenn du einfach die Zeilen sortieren willst:

1. Zeilen in Array einlesen mittels $array=file("bla.txt");
2. Array sortieren (sort($array);)
3. Array wieder in Datei schreiben (fopen)

Can
von HG
[spam]Mach ne Datenbank draus [/spam]

Poste mal das Datenmodell deiner Datei, sonst kann man nur wenig Tipps geben, und wenn bestenfalls solche: Datei einlesen und sortieren
von dnue
Hi zusammen. Bin neu bei PHP.
Habe eine Textdatei mit Namen adressen.txt.
Nun möchte ich via PHP diese Datei alphabetisch sortieren.
Wer weiss Rat?
Danke für die Hilfe

Dani

Nach oben