tutorials.de Buch-Aktion 02/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
16
ZUGRIFFE
928
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    marxter marxter ist offline Mitglied
    Registriert seit
    Aug 2010
    Beiträge
    12
    Hallo an die Gemeinde hier, evtl könnt ihr mir weiter helfen. bin dabei für meinen clan einen kampfberichtspeicher zu bauen soweit klappt auch alles bis aus eine kleine sache und zwar suche ich die möglichkeit wie ich den ort des kampfes in der berichteliste mit einbauen kann, zur zeit hab ich nur das datum und die zeit in der liste drin, was das ganze nach einer weile sehr unübersichtlich macht. ich poste hier mal was ich bis jetzt schon alles habe und einen teil wie der bericht aussieht den ich in text form abspeicher und auch so wieder ausgeben kann.

    Auschnitt eines Kampfberichts:


    21:27 29-08-2010
    Zurückgelassene Ressourcen
    0 0 0 0 0 0 0 0 0 0 0 0 0 0

    Gefecht bei New Hope 17,17
    Die Angreifer waren siegreich Gefechtstaktik Sondierung
    Bonus Angreifer 66% Bonus Verteidiger -14%
    Kampfwert Angreifer/XP-Mod 48266.25/0.16 Kampfwert Verteidiger/XP-Mod 15881.72/1

    Angreifer Flotte: AdventurousForce (UAC-Station[DAC])
    Begleitschiff (XLIII) Eswet Vice Marshall Angelia Theurer
    Angriffswert 174 / 174 Captain 15 / 15 XPs 15
    Schild 1299 / 2269(-970) Crew 122 / 122 XPs 7
    Panzerung 9695 / 9880(-185) Systeme 4801 / 4801
    Struktur 653 / 653

    Begleitschiff (XLIII) Kelop Sub Commander Luciana Capurro
    Angriffswert 175 / 175 Captain 8 / 8 XPs 19
    Schild 796 / 1581(-785) Crew 122 / 122 XPs 10
    Panzerung 9627 / 9997(-370) Systeme 4405 / 4405
    Struktur 662 / 662 ......................

    dick markierter text ist für mich wichtig.

    nun mein formular:

    HTML-Code:
    <!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/tr/html4/loose.dtd"> 
    <html><head><title>....DAC-KB-Speicher....</title><link rel='stylesheet' href='style2.css' type='text/css'></head> 
    <body> 
    <form method='post' action='index.php'><table class='nwrp full'><tr><td><center><table width='80%'><tr><td class='nfo'><center><font size='+1'>Eintragen</font></center></td></tr><tr><td class='ce'><textarea name='bericht' rows='50' cols='100'></textarea></td></tr><tr></td></tr><tr><td class='ce'><a href='list.php'>Liste ansehen</a></td></tr><tr><td class='ce'><input type='submit' name='sbutton' value='Eintragen' class='button'></td></tr></table></center></td></tr></table><input type='hidden' name='ispost' value='1'></form><script type="text/javascript" 
    </html>
    hier wird das formular verarbeitet:

    PHP-Code:
    <html><head><title>DAC-KB-Liste******!</title><link rel='stylesheet' href='style2.css' type='text/css'></head> 
    <?php
    $link 
    mysql_connect("localhost","root","") or die ("Keine Verbindung moeglich"); 
    mysql_select_db("kb") or die ("Die Datenbank existiert nicht"); 
    ?>
    <?php 
    $bericht 
    $_POST['bericht']; //Textfeld 
    $date time(); //Aktuelles Datum im INT-Format (setzt Feldformat "INT" voraus) 

    if($bericht == "") { 
    die(
    "Feld ist leer!"); 

    $bericht nl2br($bericht);
    $sql "INSERT INTO `berichte` (`bericht`, `date`) VALUES ('$bericht', '$date')";  
    $update mysql_query($sql); 

    if(
    $update === true) { 
    echo 
    "Dein Bericht wurde Erfolgreich gespeichert"//Hier bitte Code einfügen, wenn das einfügen in die Tabelle geklappt hat 
    } else { 
    echo 
    "Einf&uuml;gen misslungen.<br /><br />"
    echo 
    mysql_error(); 
    exit; 

    ?>
    <a href='form.html'>KB Eintragen</td></tr><tr><td></td></tr>
    <a href='list.php'>Zur Liste</td></tr><tr><td></td></tr>
    hiermit werden alle berichte aufgelistet:

    PHP-Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
    <HTML><HEAD><TITLE>DAC-KB Liste!!</TITLE><LINK REL='STYLESHEET' HREF='style2.css' TYPE='TEXT/CSS'></HEAD> 
    <BODY> 
    <CLASS='nwrp full'><CENTER><TABLE WIDTH='60%'>
    <TD CLASS='nfo'><CENTER><FONT SIZE='+1'>DAC-KB-Liste!!

    </FONT></CENTER><TR><CENTER><TD>
    <a href='form.html'>..Zurück zur Eingabe..</TABLE>
    </HTML>

    <?php
    $link 
    mysql_connect("localhost","root","") or die ("Keine Verbindung moeglich"); 
    mysql_select_db("kb") or die ("Die Datenbank existiert nicht"); 
    ?>
    <?php
     
    echo "<center><table width='60%'>"
    $sql "SELECT * FROM berichte ORDER BY id DESC"
    $sql mysql_query($sql); 
    while(
    $row mysql_fetch_object($sql)) { 
    $id $row->id
    $bericht $row->bericht
    $date date("--- d.m.Y --- H:i ---"$row->date); 
    echo 
    "<tr><td>$date<td><a href='kb.php?id=$id'>Bericht ansehen";

    ?>
    über den weiter führenden link "Bericht ansehen" kommt man an den vollständigen bericht ran. aber hier wird mir eben nur das datum angezeigt, hab ihr eine idee wie man das lösen könnte?.

    gruß marco
     

  2. #2
    BadMatt BadMatt ist offline Mitglied Gold
    Registriert seit
    Mar 2007
    Beiträge
    105
    'Gefecht bei New Hope 17,17'

    Ist das immer in dem Format?
    Dann könnte man das via regulärem Ausdruck auslesen ...
     

  3. #3
    Avatar von Bratkartoffel
    Bratkartoffel Bratkartoffel ist offline gebratene Kartoffel
    tutorials.de Premium-User
    Registriert seit
    Jun 2007
    Ort
    Passau (Niederbayern)
    Beiträge
    1.298
    Hallo,

    wenn das von meinem Vorredner stimmt, dann könntest den Ort zum Beispiel mit folgendem RegEx auslesen:
    Code :
    1
    2
    3
    
    /Gefecht bei ([a-zA-Z ]+) ([0-9]{2},[0-9]{2})/
     
    $1 ist der Ort, $2 sind die Koordinaten

    Der Code sollte passen, solange die Stadtnamen nur Groß- und Kleinbuchstaben, sowie Leerzeichen enthalten und die Koordinaten immer 2-stellig sind.

    Gruß
    BK
    Geändert von Bratkartoffel (31.08.10 um 08:26 Uhr) Grund: Rechtschreibung
     
    Über eine gute Bewertung freut sich jeder ;)
    Bitte erledigte Threads als "Erledigt" markieren.

    "Though a program be but three lines long, someday it will have to be maintained.''
    -- Geoffrey James, "The Tao of Programming"

  4. #4
    marxter marxter ist offline Mitglied
    Registriert seit
    Aug 2010
    Beiträge
    12
    Schon mal danke für die antwort, naja die kords können auch einstellig sein und an welcher stelle müßte ich denn den code einbauen?

    Gruß marco
     

  5. #5
    marxter marxter ist offline Mitglied
    Registriert seit
    Aug 2010
    Beiträge
    12
    hmm bekomm es nicht hin wie ich diesen wert aus der sql auslesen kann, aus einem reinem textfile klappt das ja gut auch das mit den einstelligen koords
    /Gefecht bei ([a-zA-Z ]+) ([0-9]{1,2},[0-9]{1,2})/

    $1 ist der Ort, $2 sind die Koordinaten
    so hab ich das abgeändert... kann mir da wer helfen?

    gruß
     

  6. #6
    marxter marxter ist offline Mitglied
    Registriert seit
    Aug 2010
    Beiträge
    12
    keiner eine idee****? ich komm da nicht weiter
     

  7. #7
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    4.673
    Du hast doch den ganzen Text in der Variable $bericht oder?
    Also, den Regulären Ausdruck darauf anwenden

    PHP-Code:
    <?php
    //Den String zum testen
    $bericht = <<<EOT
    21:27 29-08-2010
    Zurückgelassene Ressourcen
    0 0 0 0 0 0 0 0 0 0 0 0 0 0

    Gefecht bei New Hope 17,17
    Die Angreifer waren siegreich Gefechtstaktik Sondierung
    Bonus Angreifer 66% Bonus Verteidiger -14%
    Kampfwert Angreifer/XP-Mod 48266.25/0.16 Kampfwert Verteidiger/XP-Mod 15881.72/1

    Angreifer Flotte: AdventurousForce (UAC-Station[DAC])
    Begleitschiff (XLIII) Eswet Vice Marshall Angelia Theurer
    Angriffswert 174 / 174 Captain 15 / 15 XPs 15
    Schild 1299 / 2269(-970) Crew 122 / 122 XPs 7
    Panzerung 9695 / 9880(-185) Systeme 4801 / 4801
    Struktur 653 / 653

    Begleitschiff (XLIII) Kelop Sub Commander Luciana Capurro
    Angriffswert 175 / 175 Captain 8 / 8 XPs 19
    Schild 796 / 1581(-785) Crew 122 / 122 XPs 10
    Panzerung 9627 / 9997(-370) Systeme 4405 / 4405
    Struktur 662 / 662 ......................
    EOT;

    //Datum auswerten
    //$result[0] = ganzer gefundener String, $result[1] = tag, $result[2] = monat, $result[3] = Jahr
    $datumPattern '/([[:digit:]]{2})-([[:digit:]]{2})-([[:digit:]]{4})/is';
    preg_match($datumPattern$bericht$result); 
    $datumString $result[0];

    //Ort auslesen
    //$result[0] = ganzer gefundner String, $result[1] = Ortschaft, $result[2] = Koordinate als String, $result[3] = X-koordinate, $result[4] = Y-Koordinate
    $placePattern '/Gefecht bei (.*) (([[:digit:]]{1,2}),([[:digit:]]{1,2}))/is';
    preg_match($placePattern$bericht$result); 
    $place $result[1];
    $coord $result[2];
    $xCoord $result[3];
    $yCoord $result[4];

    var_dump($datumString$place$coord);

    ?>
     
    ---------------------------------------------------------------------------------------------------
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  8. #8
    marxter marxter ist offline Mitglied
    Registriert seit
    Aug 2010
    Beiträge
    12
    die berichte stehen in der sql-db, der vollständige bericht wird ja erst über einen link sichtbar verstehst du? @yaslaw?
     

  9. #9
    marxter marxter ist offline Mitglied
    Registriert seit
    Aug 2010
    Beiträge
    12
    ahhhhh ich sehe es ****t schon teilweilse, nur noch bissel anpassen.. DANKE
     

  10. #10
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    4.673
    Zitat Zitat von marxter Beitrag anzeigen
    die berichte stehen in der sql-db, der vollständige bericht wird ja erst über einen link sichtbar verstehst du? @yaslaw?
    Hier holst du doch den Bericht....
    PHP-Code:
    $sql "SELECT * FROM berichte ORDER BY id DESC"
    $sql mysql_query($sql); 
    while(
    $row mysql_fetch_object($sql)) { 
    $id $row->id
    $bericht $row->bericht 
    Der $bericht in meinem Beispiel war nur zur Testsimulation
     
    ---------------------------------------------------------------------------------------------------
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  11. #11
    marxter marxter ist offline Mitglied
    Registriert seit
    Aug 2010
    Beiträge
    12
    jop danke soweit klappt das auch, wenn wir jetzt die zeitangabe aus dem bericht ziehen könne wäre das perf. "21:27 29-08-2010", ich probier schon die ganze zeit
     

  12. #12
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    4.673
    Du hast ja des Ding mit dem Datum. Wende es gleich auf die Uhrzeit an. Mach dich schlau über reguläre Ausdrücke und pröble ein wenig herum.
    Hier ist ein Link zu einem guten Regulärer-Ausdruck-tester
    http://regexp-evaluator.de/evaluator/

    Hier habe ich dir das Datum schon mal vorgelegt. Das kannst du erweitern
    http://regexp-evaluator.de/evaluator...be52/#ergebnis
     
    ---------------------------------------------------------------------------------------------------
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  13. #13
    marxter marxter ist offline Mitglied
    Registriert seit
    Aug 2010
    Beiträge
    12
    hmm irgendwie raff ich das nicht, wohl doch komplexer
     

  14. #14
    marxter marxter ist offline Mitglied
    Registriert seit
    Aug 2010
    Beiträge
    12
    so jetzt hab ich diesen ausdruck /([01][0-9]|2[0-3]):[0-5][0-9]/is gebastelt und er geht auch für die uhrzeit, nur klappt das nicht mit dem datum zusammen.
     

  15. #15
    marxter marxter ist offline Mitglied
    Registriert seit
    Aug 2010
    Beiträge
    12
    habs hin bekommen .. /([0-2][0-9]:[0-6][0-9]) ([0-3][0-9]\-[01][0-9]\-[12][0-9][0-9][0-9])/is so klappt das

    *freu*
     

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 29.06.08, 17:46
  2. 4 Thumnails in einer Zeile ausgeben
    Von Suat im Forum PHP
    Antworten: 2
    Letzter Beitrag: 21.08.06, 16:18
  3. Bestimmte Zeile mit PHP - Oracle ausgeben lassen
    Von chrislms im Forum Relationale Datenbanksysteme
    Antworten: 11
    Letzter Beitrag: 14.07.06, 13:50
  4. Antworten: 5
    Letzter Beitrag: 09.05.04, 14:58
  5. Antworten: 3
    Letzter Beitrag: 06.05.02, 16:01