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



Im Homepage und Webhosting-Forum --- Textdatei sortieren mit PHP

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 - 23 Nov 2024 Antworten
im Forum für Webhosting Homepage gefunden:
Textdatei sortieren mit PHP
raiserle
Mausakrobat




Beiträge: 172

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.

---
Irren is Menschlich

Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!

Kameradschaft ist, wenn der
Kamerad schafft !!!!

  Profil   Editieren   Zitieren
lexx
Pixelschubser




Beiträge: 5


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.

Diese Nachricht wurde geändert von: lexx
  Profil   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

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.

  Profil   Editieren   Zitieren
lexx
Pixelschubser




Beiträge: 5


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]."
";
};
};

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

  Profil   Editieren   Zitieren
raiserle
Mausakrobat




Beiträge: 172

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)

---
Irren is Menschlich

Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!

Kameradschaft ist, wenn der
Kamerad schafft !!!!

  Profil   Editieren   Zitieren
lexx
Pixelschubser




Beiträge: 5


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 !

Diese Nachricht wurde geändert von: lexx
  Profil   Editieren   Zitieren
raiserle
Mausakrobat




Beiträge: 172

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:
";

foreach($m AS $data => $wert){
        echo ''.$data.' ' ;
}

if($_GET['sort']){
    $wonach_sortieren=$_GET['sort'];    // 1. zeile code
    echo $wonach_sortieren."
"; 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]."
"; // 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.


---
Irren is Menschlich

Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!

Kameradschaft ist, wenn der
Kamerad schafft !!!!

  Profil   Editieren   Zitieren
lexx
Pixelschubser




Beiträge: 5

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

Diese Nachricht wurde geändert von: lexx
  Profil   Editieren   Zitieren
Seite 1 | 2  

Antworten
Forum » PHP & MySQL » Textdatei sortieren mit PHP

Aktuelle Beiträge zur Hilfe im Forum für Homepage - Textdatei sortieren mit PHP im Forum Homepage Hosting AntwortenLetztes Posting
Cybersicherheit für Unternehmen
in "PHP & MySQL"
3 18.11.2024 14:05 von Gaswer
Wirtschaftslage in der Ukraine
in "PHP & MySQL"
3 22.10.2024 15:04 von Gaswer
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
3 19.07.2021 06:00 von newtopblog
kleines problem mit phpadmin
in "PHP & MySQL"
5 11.04.2021 22:22 von Zavylon
Counter mit PHP
in "PHP & MySQL"
4 22.03.2021 16:29 von Robeni
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
CMS für Online Shop
in "PHP & MySQL"
18 26.05.2019 13:29 von raiserle
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973
PHP befehl ausführen
in "PHP & MySQL"
11 16.08.2018 09:08 von Klaus1973
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji



Besucher : 8127853    Heute : 248     Gestern : 761     Online : 173     23.11.2024    10:30      1 Besucher in den letzten 60 Sekunden        
alle 60.00 Sekunden ein neuer Besucher
Nach oben