Code Optimierung durch Schleifenfunktion, ...

  • Hallo zusammen,

    ich brauch mal wieder Eure Hilfe.

    Der folgende Code funktioniert ohne Probleme nur ist er sehr umständlich geschrieben.
    Seine Aufgabe ist eigentlich nur eine Zielseite aufrufen, den Htmlcode in einem String speichern, diesen String nach Zelleninhalten durchzusuchen diesen in einem Array zuspeichern, den erstellten Array bestimmte Positionen in Variablen zuspeichern. Da es mittlerweile schon 3 Internetseiten die ich auslesen muss habe ich einfach den Code 2x kopiert und die Variablen umbenannt.

    Meine Frage nun:
    Wie müsste ich eine Schleife aubauen, die das gleiche macht und bei jedem Durchlauf auf die nächste Internetseite zugreift.
    Wichtig wäre es mir noch das ich die Internetseiten Anzahl beliebig erweitern könnte.

    Hier mein Ausgangscode:

    Da ich als nächstes die 12 Variabel in eine Datenbank schreiben werde, reichen eigentlich einmalig die Ausgangsvariabelnbezeichnung aus.

    Vielen Dank schon mal im vorraus, Oliver.

  • so und was von dem ganzen kudel mudel ist jetzt eigentlich noch nötig ?!


  • Super vielen Dank, das sieht ja schon mal toll aus.

    Wenn ich nun eine weitere Seite einfügen möchte als Quelle gebe ich ein fach an:

    $cfg[0]['url'] = 'http://www.Internetseite1.de'; // Von welcher URL
    $cfg[1]['url'] = 'http://www.Internetseite2.de'; // Von welcher URL
    $cfg[2]['url'] = 'http://www.Internetseite3.de'; // Von welcher URL
    ...

    hab ich das richtig Verstanden?

    2. Frage:

    Im html-teil dieser Seite habe ich eine Tabelle, mit z.B.
    <?= $playername1 ?> den Wert dann ausgegeben.

    Wie kann ich nun auf die jeweiligen Werte zugreifen solange ich noch nicht mit der Datenbank arbeite?

    Gruß Oliver ,-)

  • Hab es gerade ausprobiert, alles Funktioniert. Super vielen Dank GreenRover für dein Mühe.

    Als nächstes kann ich mich nun an die Eintragung der Werte in eine Datenbank versuchen. :D

    Vielen Dank, Oliver

  • Ich brauch noch mal deine hilfe, bin am verzweifeln.

    Ich habe jetzt den Code umgeschrieben um die Daten in eine Datenbank einzutragen. FEHLER erscheinen keine mehr.
    Wenn ich aber danach in die Datenbank schaue ist sie immer noch leer.

    Was mache ich falsch???

    Kann mir jemand ein Tip geben?

    Gruss Oliver , ...

  • was bringt der teil:


    $playername = $convert[2];
    $playerid = $convert[28];
    $lastconnect = $convert[32];
    $totaltime = $convert[34];
    $rank = $convert[40];
    $points = $convert[42];
    $activity = $convert[44];
    $kills = $convert[46];
    $deaths = $convert[48];
    $suicides = $convert[50];
    $killsperdeath = $convert[52];
    $weaponaccuracy = $convert[60];

    was bringt dir:

    mysql_query($query); echo mysql_error();

  • You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '-ranking SET playername = '-BK- | Beelzebub [gEr]', lastco-BK- | Beelzebub [gEr]
    110
    Tue. 6th Jun. 20:22:40
    2,988
    You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '-ranking SET playername = '-BK- | Azazel [gEr]', lastconne-BK- | Azazel [gEr]
    110
    Sun. 4th Jun. 22:29:06
    1,688
    You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '-ranking SET playername = '-BK- | Karnickel [gEr]', lastco-BK- | Karnickel [gEr]
    110
    Sun. 4th Jun. 22:22:09
    2,356
    You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '-ranking SET playername = '', lastconnect = '', total
    110

    Das bringt er wenn ich den Fehler ausgeben lasse.

  • Das problem hatte ich auch mal, wenn ich mich recht erinnere konnte ich es mit

    Code
    $id=$_GET['id']

    lösen.

    in deinem Fall wäre es

    Code
    $playerid=$_GET['playerid']


    versuchs mal wenn du es über

    Code
    $convert = array();

    einfügst!

  • Hallo Gast kann Du mir die genaue Position nennen wo ich es eifügen muss?

    Allso ich habe meine Tabelle um benannt, und es geht zu einem Viertel. Er schreibt was rein, nur das richtige in die Falsche Zeile.

    Er durch läuft die Schleife und also 4 mal schreibt mir aber nur ein Datensatz in die falsche Zeile. Und nicht 4 Datensätze.
    Also erkennt er nicht die eindeutige zuordnung der Playerid und die Position in der Datenbanktabelle. :(

    diese Werte sollen in die Tabelle geschrieben werden:

    -TAG- | NAME [gEr]
    110 <--- Playerid
    41
    1,688
    88.32%
    150 (150)
    279
    1
    0.54 (0.54)
    11.7% (11.7%)
    0d 05:15:40h
    Sun. 4th Jun. 22:29:06

    da ich mit den Werten nicht rechnen möchte habe ich als Feldtyp -> Text angegeben.

    Hat jemand noch eine Idee?

  • Hallo GreenRover danke für deine Mühen, wo bekomme ich den sql string her?

    Sorry, Oliver

  • Hab sie von Hand mit PhpMyAdmin. Tabelle mit 12 Felder und dann von benannt und versucht ein Typ anzulegen.

    hilft Dir das? :

    Feld Typ Attribute Null Standard Extra Aktion
    id int(6) UNSIGNED Nein auto_increment Ändern Löschen Primärschlüssel Index Unique Volltext
    playerid tinyint(3) Nein 0 Ändern Löschen Primärschlüssel Index Unique Volltext
    playername text Nein Ändern Löschen Primärschlüssel Index Unique Volltext
    lastconnect text Nein Ändern Löschen Primärschlüssel Index Unique Volltext
    totaltime text Nein Ändern Löschen Primärschlüssel Index Unique Volltext
    rank int(4) Nein 0 Ändern Löschen Primärschlüssel Index Unique Volltext
    points text Nein Ändern Löschen Primärschlüssel Index Unique Volltext
    activity text Nein Ändern Löschen Primärschlüssel Index Unique Volltext
    kills text Nein Ändern Löschen Primärschlüssel Index Unique Volltext
    deaths text Nein Ändern Löschen Primärschlüssel Index Unique Volltext
    suicides text Nein Ändern Löschen Primärschlüssel Index Unique Volltext
    killsperdeath text Nein Ändern Löschen Primärschlüssel Index Unique Volltext
    weaponaccuracy text Nein Ändern Löschen Primärschlüssel Index Unique Volltext

  • Kann es sein das er Probleme mit den Sonderzeichen hat beim Eintragen?

    Wie zum Beispiel: -TAG- | NAME [gEr]

  • Ich habs geschaft. :lol:

    Da ackert man Lektion für Lektion durch und meint das das garnicht so schwer wäre und dann stellt man sich selber so fiess das Bein.

    Weil ich dachte das er Playerid nicht erkennt hab ich die variabel hart einen Wert zugewiesen. Klappte nicht!
    Dann hab ich aber bemerkt das er garkeine verbindung zur Datenbank aufgebaut hat, weil er die Datein nicht gefunden hatte. Nach beheben des Fehlers hat er was in meine Tabelle reingeschrieben nur in die falsche Zeile weil ich sie ja hart zugewiesen hatte. Hm, ....

    Trotzdem vielen Dank an Euch und an GreenRover für Eure Hilfe.

    Mfg Oliver ;)

  • ja, fehler muss man immer mal selbst gemacht haben, dann lernste sogar noch was dabei ;)

    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!