SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 11.11.2004, 15:29:58
faiZ faiZ ist offline
Anfänger
 
Registriert seit: Nov 2004
Beiträge: 16
PHP hierfür geeignet?

Hi,

ich habe folgendes Problem:

ich möchte aus einem Datenarchiv (alle bisherigen Bundesliga Ergebnisse) für einen beliebigen Faktor (zb. Heimvorteil =
20% größere Siegchance) die ganzen bisherigen Spiele durchrechnen lassen und nach 1,0,2 (also Heimsieg,Unentschieden, Auswärtssieg) einschätzen und dann mit den tatsächlich eingetroffen Resultaten vergleichen und als Ergebniss die Anzahl der richten Tipps erhalten.

Irgendwann soll das ganze zur Prognose zukünftiger Spiele führen.

Ist PHP für eine solche Anwendung geeignet? Oder sollte ich es besser mit etwas anderem versuchen. Habe keinerlei Progammiererfahrungen. HTML behersche ich allerdings, daher auch die Idee mit PHP.
Wäre dankbar für irgendwelche Ideen.

Grüsse, faiZ
Mit Zitat antworten
  #2  
Alt 11.11.2004, 15:33:00
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Jo, geht.

Tutorial:
--> http://tut.php-q.net/

Viel Spaß! :)
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #3  
Alt 12.11.2004, 18:40:21
faiZ faiZ ist offline
Anfänger
 
Registriert seit: Nov 2004
Beiträge: 16
ok habe mich mal versucht, leider schon bald auf die ersten Probleme gestoßen :/.

So sieht z.B. eine Datei zum einlesen aus:
01.08.03 20:30 FC Bayern München : Eintracht Frankfurt 3:1 (3:0)
02.08.03 15:30 Hertha BSC Berlin : Werder Bremen 0:3 (0:2)
02.08.03 15:30 VfL Wolfsburg : VfL Bochum 3:2 (2:2)
02.08.03 15:30 FC Schalke 04 : Borussia Dortmund 2:2 (1:0)
02.08.03 15:30 Hamburger SV : Hannover 96 0:3 (0:1)
02.08.03 15:30 Bayer 04 Leverkusen : SC Freiburg 4:1 (3:1)
02.08.03 15:30 1.FC Kaiserslautern : TSV 1860 München 0:1 (0:1)
03.08.03 17:30 Borussia M'gladbach : 1.FC Köln 1:0 (0:0)
03.08.03 17:30 Hansa Rostock : VfB Stuttgart 0:2 (0:0)

bisheriger Ansatz:

<?PHP
$datei = "bundesliga2.txt";
$bundesliga = file($datei);
foreach ($bundesliga as $zeile) {
echo "$zeile <br>n";
}
?>

nun möchte ich aber Datum, Uhrzeit, Manschaftsnamen, Ergebniss usw. jeweils als einzelne Variablen haben, nicht die komplette Zeile. Wie könnte ich das machen?
Mit Zitat antworten
  #4  
Alt 12.11.2004, 20:14:16
Benutzerbild von Yzerman
Yzerman Yzerman ist offline
Member
 
Registriert seit: Dec 2002
Ort: Soest
Beiträge: 623
Yzerman eine Nachricht über ICQ schicken
Beispiel:

Code:
$zeile = "01.08.03 20:30 FC Bayern München : Eintracht Frankfurt 3:1 (3:0)";
$pattern = "#(d{2}.d{2}.d{2}) (d{2}:d{2}) ([w.' ]+?) : ([w.' ]+?) (d{1,2}):(d{1,2}) ((d{1,2}):(d{1,2}))#s";
preg_match($pattern,$zeile,$result);
echo 'Datum: ' . $result[1] . '<br />';
echo 'Zeit: ' . $result[2] . '<br />';
echo 'Heimmannschaft: ' . htmlentities($result[3]) . '<br />';
echo 'Ausw&auml;rtsmannschaft: ' . htmlentities($result[4]) . '<br />';
echo 'Tore Heim: ' . $result[5] . '<br />';
echo 'Tore Ausw: ' . $result[6] . '<br />';
echo 'Tore Heim Halbzeit: ' . $result[7] . '<br />';
echo 'Tore Ausw Halbzeit: ' . $result[8];
Es geht natürlich auch, die Zeile mit den Stringfunktionen zu zerlegen (substr und explode), würde aber mehrere Schritte benötigen. Stringfunktionen sind allerdings im Grunde performanter als Reguläre Ausdrücke.
__________________
The internet is full of answers, even to never asked questions!
Mit Zitat antworten
  #5  
Alt 13.11.2004, 11:35:29
faiZ faiZ ist offline
Anfänger
 
Registriert seit: Nov 2004
Beiträge: 16
Hi, vielen Dank für die Hilfe.

Habe versucht den Code nachzuvollziehen, was mir nach einigem nachlesen auch größtenteils gelungen ist.

Wollte jetzt aber $zeile jeweils durch $bundesliga[1], $bundesliga[2] usw. ersetzen. Dies scheitert jedoch an einem "undefined offset error". Soweit ich das verstanden habe bedeutet das, dass der erhaltene Wert nicht dem erwarteten entspricht. Verstehe aber nicht ganz wieso, da ja echo die Zeilen auf diese Weise richtig ausgibt.
Wo liegt das Problem?
Mit Zitat antworten
  #6  
Alt 13.11.2004, 12:58:13
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
Zitat:
Original geschrieben von faiZ
Hi, vielen Dank für die Hilfe.

Habe versucht den Code nachzuvollziehen, was mir nach einigem nachlesen auch größtenteils gelungen ist.

Wollte jetzt aber $zeile jeweils durch $bundesliga[1], $bundesliga[2] usw. ersetzen. Dies scheitert jedoch an einem "undefined offset error". Soweit ich das verstanden habe bedeutet das, dass der erhaltene Wert nicht dem erwarteten entspricht. Verstehe aber nicht ganz wieso, da ja echo die Zeilen auf diese Weise richtig ausgibt.
Wo liegt das Problem?
Zeige mal den Quelltext, mit dem du es versucht hast.
Mit Zitat antworten
  #7  
Alt 13.11.2004, 13:31:02
faiZ faiZ ist offline
Anfänger
 
Registriert seit: Nov 2004
Beiträge: 16
PHP-Code:
$datei "bundesliga2.txt";
$bundesliga file($datei);
$pattern "#(d{2}.d{2}.d{2}) (d{2}:d{2}) ([w.' ]+?) : ([w.' ]+?) (d{1,2}):(d{1,2}) ((d{1,2}):(d{1,2}))#s";
preg_match($pattern,$bundesliga[5],$result);
echo 
'Datum: ' $result[1] . '<br />';
echo 
'Zeit: ' $result[2] . '<br />';
echo 
'Heimmannschaft: ' htmlentities($result[3]) . '<br />';
echo 
'Auswärtsmannschaft: ' htmlentities($result[4]) . '<br />';
echo 
'Tore Heim: ' $result[5] . '<br />';
echo 
'Tore Ausw: ' $result[6] . '<br />';
echo 
'Tore Heim Halbzeit: ' $result[7] . '<br />';
echo 
'Tore Ausw Halbzeit: ' $result[8];
echo 
"<br>";
echo 
"$bundesliga[5]";//wird korrekt angezeigt 
und die Fehlermeldung:


Notice: Undefined offset: 1 in D:ProgrammeOmniSecurehtdocsprojektauslesen.php on line 6
Datum:

Notice: Undefined offset: 2 in D:ProgrammeOmniSecurehtdocsprojektauslesen.php on line 7
Zeit:

Notice: Undefined offset: 3 in D:ProgrammeOmniSecurehtdocsprojektauslesen.php on line 8
Heimmannschaft:

Notice: Undefined offset: 4 in D:ProgrammeOmniSecurehtdocsprojektauslesen.php on line 9
Auswärtsmannschaft:

Notice: Undefined offset: 5 in D:ProgrammeOmniSecurehtdocsprojektauslesen.php on line 10
Tore Heim:

Notice: Undefined offset: 6 in D:ProgrammeOmniSecurehtdocsprojektauslesen.php on line 11
Tore Ausw:

Notice: Undefined offset: 7 in D:ProgrammeOmniSecurehtdocsprojektauslesen.php on line 12
Tore Heim Halbzeit:

Notice: Undefined offset: 8 in D:ProgrammeOmniSecurehtdocsprojektauslesen.php on line 13
Tore Ausw Halbzeit:
02.08.03 15:30 Bayer 04 Leverkusen : SC Freiburg 4:1 (3:1)
Mit Zitat antworten
  #8  
Alt 13.11.2004, 13:51:46
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
Das Muster, nach welchem du suchen lässt, findet in deiner Zeile keine Ergebnisse.
Ich habe dir das mal überarbeitet:
Code:
    $pattern = '#(d{2}.d{2}.d{2})s+(d{1,2}:d{2})s+(.+)s*:s*(.+)(d{1,2}):(d{1,2})s+((d{1,2}):(d{1,2}))#i';
EDIT: Wieso rutscht das Semikolon in die nächste Zeile?!
Mit Zitat antworten
  #9  
Alt 13.11.2004, 14:27:18
faiZ faiZ ist offline
Anfänger
 
Registriert seit: Nov 2004
Beiträge: 16
Ich bin mir nicht sicher ob das Muster wirklich die Ursache des Problems ist.
Denn wenn ich mit
PHP-Code:
$zeile "03.08.03 17:30 Hansa Rostock : VfB Stuttgart 0:2 (0:0)"
arbeite funktioniert das bisherige Muster wunderbar, wenn ich jedoch
PHP-Code:
 $zeile "bundesliga[9];" 
setze tritt der offset Fehler auf.
Wenn ich das von dir erstellte Muster nehme tritt der Fehler in beiden Fällen auf :/
Mit Zitat antworten
  #10  
Alt 13.11.2004, 15:27:05
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
Zitat:
Original geschrieben von faiZ
Ich bin mir nicht sicher ob das Muster wirklich die Ursache des Problems ist.
Es liegt so gut wie sicher an dem Muster. Deine Warnung bedeutet ja nichts weiter, als das ein bestimmtes Element nicht in dem Array $result gefunden wurde. Dieses Array wird aber durch die Funktion preg_match erzeugt. Wenn das in preg_match angegebene Suchmuster nun nicht gefunden wurde, wird $result einfach als leeres Array zurückgegeben und liefert somit die Offset-Notiz.

Zitat:
wenn ich jedoch
PHP-Code:
 $zeile "bundesliga[9];" 
setze tritt der offset Fehler auf.
Diese Zeile müsste wenn dann so aussehen:
PHP-Code:
<?php
    $zeile 
$bundesliga[9];
?>
Aber auch wenn du es so schreibst, wird dir ein Fehler zurückgeliefert werden, da das Array $bundesliga nur 9 Elemente (von 0 bis 8) hat.

Zitat:

Wenn ich das von dir erstellte Muster nehme tritt der Fehler in beiden Fällen auf :/
Folgende Zeile funktioniert bei meinem Muster ohne Probleme:
PHP-Code:
<?php
    $zeile 
"03.08.03 17:30 Hansa Rostock : VfB Stuttgart 0:2 (0:0)";
?>

Geändert von xabbuh (13.11.2004 um 15:35:33 Uhr)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:01:07 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt