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 » bestimmte Daten aus einer Datei auslesen » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von Neo007
Danke nachvollziehen kann ich das auch ohne Die texte einigermaßen, werd sie mir aber auch nochmal anschauen,

Thx nochmal, ist echt nett von dir.
von Neo007
Danke nachvollziehen kann ich das auch ohne Die texte einigermaßen, werd sie mir aber auch nochmal anschauen,

Thx nochmal, ist echt nett von dir.
von Paraplex
Hier die veränderten Abschnitte:
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:
//Variable, die du "mitschickst", mußt du dann hier natürlich löschen.
//Erhält als Wert den Usernamen ohne eckige Klammern.
//z.B. tommy oder Neo007
$uname="Neo007";
$user=explode("[",$content);
echo"<table>";
foreach($user as $value){
//Es werden nur Datensätze zur weiteren Verarbeitung zugelassen, die
//deinem "erweiterten Suchkriterium" genügen
  if (preg_match("/$uname]/",$value)){
//Was hier vorher stand ist jetzt überflüssig, da du den Usernamen
//bereits mitlieferst
    preg_match("/Stat_KBDown=.*n/",$value,$name1);
    $name1[0]=preg_replace("/Stat_KBDown=/","",$name1[0]);
//Jetzt sind natürlich keine Arrays mehr nötig, da nur ein Datensatz
    $download=$name1[0];
    preg_match("/Stat_KBUp=.*n/",$value,$name1);
    $name1[0]=preg_replace("/Stat_KBUp=/","",$name1[0]);
    $upload=$name1[0];
    echo"<tr><td>$uname</td><td>$download</td><td>$upload</td></tr>";
  }
}
echo"</table>";


Das wars eigentlich schon.

Zum Verständnis solltest du dir mal den Artikel zu Regular Expressions des PHP-Manuals durchlesen (hoffe du bist einigermaßen fit im Englischen):
http://php3.de/manual/de/ref.pcre.php

oder für den Anfang verständlicher (und auf deutsch):
http://develnet.org/tech/dclp/regexp.html

Damit bist du dann denke ich in der Lage, die einzelnen Schritte nachzuvollziehen und noch eventuell notwendige Änderungen selbst vorzunehmen.
von Neo007
THX

Sag mal wie lange beschäftigst du dich schon mit php, ich meine ich mach auch hin und wieder was, aber bis ichs so drauf hab wie du bin ich 80 und kann net mehr mal ein Notebook bedienen.

Thx nochmal

funtzt wie ne eins


PS: wie müsste ich das ganze erweitern wenn ich nur bestimmte namen abfragen will, also in der ausgabedatei dann einfach deine Datei auf rufe, und beim Aufruf ne Variable mit dem abzufragenden Namen mitschicke????
von Paraplex
Da lag ich ja gar nicht soweit daneben. Wenn die Datei wirklich genau so aussieht, wie du gepostet hast, kannst du z.B. folgendes verwenden:

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:
//Einlesen der Datei
$newfile = fopen(dateiname,"r");
$content = fread($newfile, filesize(dateiname));
fclose($newfile);


//Datei wird am Trennzeichen ( [ ) zerlegt und die Einträge werden in ein
//Array geschrieben ($user)
$user=explode("[",$content);

//Damit du siehst wie es funktioniert, gebe ich alle Daten nachher als
//Beispiel in Tabellenzellen aus.
echo"<table>";

//Schrittweises Auslesen des "user-Arrays". Die Namen, Upload und  
//Download werden in den Arrays $name, $upload und $download abgelegt.
foreach($user as $key => $value){
  preg_match("/.*]n/",$value,$nick);
  $nick[0]=preg_replace("/]/","",$nick[0]);
  $name[$key]=$nick[0];
  preg_match("/Stat_KBDown=.*n/",$value,$name1);
  $name1[0]=preg_replace("/Stat_KBDown=/","",$name1[0]);
  $download[$key]=$name1[0];
  preg_match("/Stat_KBUp=.*n/",$value,$name1);
  $name1[0]=preg_replace("/Stat_KBUp=/","",$name1[0]);
  $upload[$key]=$name1[0];

  //Daten in Tabellenzellen schreiben
  if ($key>=1)
  echo"<tr><td>$name[$key]</td><td>$download[$key]</td><td>$upload[$key]</td></tr>";
}
echo"</table>";


Hoffe, ich hab da jetzt auf die Schnelle keinen groben Fehler reingebaut.

Gruß

Nach oben