Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 19

Thema: Code Optimierung durch Schleifenfunktion, ...

  1. #1
    OJMD
    Gast

    Standard 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:
    Code:
    <?php
    $convert = array&#40;&#41;; // ein Hilfsarray
    $start = 0; // wird später benötigt
    $cols = 11; // wieviel Spalten werden benötigt
    $url = "www.Internetseite1.de"; // Von welcher URL
    $string = "Klasse&#40;n&#41;"; // Wird benötigt um den Anfang festzustellen
    $string2 = "Vertretungs-Text"; // Um das Ende festzustellen
    
    $arr = file&#40;$url&#41;; // Datei wird eingelesen
    for&#40;$i=0;$i<count&#40;$arr&#41;;$i++&#41;
    &#123;
     $arr&#91;$i&#93; = strip_tags&#40;$arr&#91;$i&#93;&#41;; // Tags entfernen
       
    if&#40;!empty&#40;$arr&#91;$i&#93;&#41;&& trim&#40;$arr&#91;$i&#93;&#41; &#41; // Prüfen ob nicht Leer und entferne Vor-Nachleerzeichen
       &#123;
          array_push&#40;$convert,trim&#40;$arr&#91;$i&#93;&#41;&#41;; // an das Hilfsarray anfügen
    
    if&#40;trim&#40;$arr&#91;$i&#93;&#41; == ""&#41; // ist das aktuelle Element gleich HIER FEHLER ""
            
    array_push&#40;$convert,""&#41;;     // füge noch ein Element an das Hilfsarray an
    &#125;
    &#125;
    for&#40;$i=0;$i<count&#40;$convert&#41;;$i++&#41; // Schleife um den Startpunkt zu ermitteln
    &#123;
     
     if&#40;!strnatcmp&#40;$string,$convert&#91;$i&#93;&#41;&#41;
        $start = $i;
    &#125;
    for&#40;$i=$start,$m=0;$i<count&#40;$convert&#41;-8;$i++,$m++&#41; // bei count&#40;$convert&#41;-8 werden die letzten unnötigen Daten entfernt
    &#123;
    &#125;
    $playername	= $convert&#91;2&#93;;
    $playerid 	= $convert&#91;28&#93;;
    $lastconnect 	= $convert&#91;32&#93;;
    $totaltime 	= $convert&#91;34&#93;;
    $rank 		= $convert&#91;40&#93;;
    $points		= $convert&#91;42&#93;;
    $activity 	= $convert&#91;44&#93;;
    $kills 		= $convert&#91;46&#93;;
    $deaths 	= $convert&#91;48&#93;;
    $suicides 	= $convert&#91;50&#93;;
    $killsperdeath 	= $convert&#91;52&#93;;
    $weaponaccuracy = $convert&#91;60&#93;;
    
    $convert = array&#40;&#41;; // ein Hilfsarray
    $start = 0; // wird später benötigt
    $cols = 11; // wieviel Spalten werden benötigt
    $url = "www.Internetseite2.de"; // Von welcher URL
    $string = "Klasse&#40;n&#41;"; // Wird benötigt um den Anfang festzustellen
    $string2 = "Vertretungs-Text"; // Um das Ende festzustellen
    $arr = file&#40;$url&#41;; // Datei wird eingelesen
    
    for&#40;$i=0;$i<count&#40;$arr&#41;;$i++&#41;
    &#123;
     $arr&#91;$i&#93; = strip_tags&#40;$arr&#91;$i&#93;&#41;; // Tags entfernen   
    if&#40;!empty&#40;$arr&#91;$i&#93;&#41;&& trim&#40;$arr&#91;$i&#93;&#41; &#41; // Prüfen ob nicht Leer und entferne Vor-Nachleerzeichen
       &#123;
          array_push&#40;$convert,trim&#40;$arr&#91;$i&#93;&#41;&#41;; // an das Hilfsarray anfügen
    if&#40;trim&#40;$arr&#91;$i&#93;&#41; == ""&#41; // ist das aktuelle Element gleich HIER FEHLER ""
        
    array_push&#40;$convert,""&#41;;     // füge noch ein Element an das Hilfsarray an
    &#125;
    &#125;
    
    for&#40;$i=0;$i<count&#40;$convert&#41;;$i++&#41; // Schleife um den Startpunkt zu ermitteln
    &#123;
     if&#40;!strnatcmp&#40;$string,$convert&#91;$i&#93;&#41;&#41;
        $start = $i;
    &#125;
    for&#40;$i=$start,$m=0;$i<count&#40;$convert&#41;-8;$i++,$m++&#41; // bei count&#40;$convert&#41;-8 werden die letzten unnötigen Daten entfernt
    &#123;  &#125;
    $playername1	= $convert&#91;2&#93;;
    $playerid1 	= $convert&#91;28&#93;;
    $lastconnect1 	= $convert&#91;32&#93;;
    $totaltime1 	= $convert&#91;34&#93;;
    $rank1 		= $convert&#91;40&#93;;
    $points1	= $convert&#91;42&#93;;
    $activity1 	= $convert&#91;44&#93;;
    $kills1 	= $convert&#91;46&#93;;
    $deaths1 	= $convert&#91;48&#93;;
    $suicides1 	= $convert&#91;50&#93;;
    $killsperdeath1 = $convert&#91;52&#93;;
    $weaponaccuracy1= $convert&#91;60&#93;;
    
    $convert = array&#40;&#41;; // ein Hilfsarray
    $start = 0; // wird später benötigt
    $cols = 11; // wieviel Spalten werden benötigt
    $url = "Internetseite3.de"; // Von welcher URL
    $string = "Klasse&#40;n&#41;"; // Wird benötigt um den Anfang festzustellen
    $string2 = "Vertretungs-Text"; // Um das Ende festzustellen
    $arr = file&#40;$url&#41;; // Datei wird eingelesen
    
    for&#40;$i=0;$i<count&#40;$arr&#41;;$i++&#41;
    &#123;
     $arr&#91;$i&#93; = strip_tags&#40;$arr&#91;$i&#93;&#41;; // Tags entfernen   
    if&#40;!empty&#40;$arr&#91;$i&#93;&#41;&& trim&#40;$arr&#91;$i&#93;&#41; &#41; // Prüfen ob nicht Leer und entferne Vor-Nachleerzeichen
       &#123;
          array_push&#40;$convert,trim&#40;$arr&#91;$i&#93;&#41;&#41;; // an das Hilfsarray anfügen
    if&#40;trim&#40;$arr&#91;$i&#93;&#41; == ""&#41; // ist das aktuelle Element gleich HIER FEHLER ""
        
    array_push&#40;$convert,""&#41;;     // füge noch ein Element an das Hilfsarray an
    &#125;
    &#125;
    
    for&#40;$i=0;$i<count&#40;$convert&#41;;$i++&#41; // Schleife um den Startpunkt zu ermitteln
    &#123;
     if&#40;!strnatcmp&#40;$string,$convert&#91;$i&#93;&#41;&#41;
        $start = $i;
    
    &#125;
    for&#40;$i=$start,$m=0;$i<count&#40;$convert&#41;-8;$i++,$m++&#41; // bei count&#40;$convert&#41;-8 werden die letzten unnötigen Daten entfernt
    &#123;  &#125;
    $playername2	= $convert&#91;2&#93;;
    $playerid2 	= $convert&#91;28&#93;;
    $lastconnect2 	= $convert&#91;32&#93;;
    $totaltime2 	= $convert&#91;34&#93;;
    $rank2 		= $convert&#91;40&#93;;
    $points2	= $convert&#91;42&#93;;
    $activity2 	= $convert&#91;44&#93;;
    $kills2 	= $convert&#91;46&#93;;
    $deaths2 	= $convert&#91;48&#93;;
    $suicides2 	= $convert&#91;50&#93;;
    $killsperdeath2 = $convert&#91;52&#93;;
    $weaponaccuracy2= $convert&#91;60&#93;;
    ?>
    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.
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

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


    Code:
    <?php
    $convert = array&#40;&#41;; 
    
    $cfg=array&#40;&#41;;
    $cfg&#91;0&#93;&#91;'url'&#93;     = 'www.Internetseite1.de'; // Von welcher URL
    $cfg&#91;0&#93;&#91;'start'&#93;   = 'Klasse&#40;n&#41;'; // Wird benötigt um den Anfang festzustellen
    
    foreach &#40;$cfg AS $id=>$config&#41;
    &#123;
     $x=0;
     $tmp=array&#40;&#41;; 
     $arr = file&#40;$config&#91;'url'&#93;&#41;; // Datei wird eingelesen
     for&#40;$i=0;$i<count&#40;$arr&#41;;$i++&#41;
     &#123;
      $arr&#91;$i&#93; = trim&#40; html_entity_decode&#40; strip_tags&#40;$arr&#91;$i&#93;&#41; &#41; &#41;; // Tags entfernen
       
      if&#40;!empty&#40;$arr&#91;$i&#93;&#41;&#41;  // Prüfen ob nicht Leer und entferne Vor-Nachleerzeichen
      &#123;
       $convert&#91;$x&#93;=$arr&#91;$i&#93;; // an das Hilfsarray anfügen
       
       if &#40;$config&#91;'start'&#93;==$arr&#91;$i&#93;&#41;
        $tmp&#91;$id&#93;&#91;'start'&#93;=$x;
       
       $x++;
      &#125;
    
     &#125;
    
     $tmp&#91;'playername'&#93;     = $convert&#91;2&#93;;
     $tmp&#91;'playerid'&#93;       = $convert&#91;28&#93;;
     $tmp&#91;'lastconnect'&#93;    = $convert&#91;32&#93;;
     $tmp&#91;'totaltime'&#93;      = $convert&#91;34&#93;;
     $tmp&#91;'rank'&#93;           = $convert&#91;40&#93;;
     $tmp&#91;'points'&#93;         = $convert&#91;42&#93;;
     $tmp&#91;'activity'&#93;       = $convert&#91;44&#93;;
     $tmp&#91;'kills'&#93;          = $convert&#91;46&#93;;
     $tmp&#91;'deaths'&#93;         = $convert&#91;48&#93;;
     $tmp&#91;'suicides'&#93;       = $convert&#91;50&#93;;
     $tmp&#91;'killsperdeath'&#93;  = $convert&#91;52&#93;;
     $tmp&#91;'weaponaccuracy'&#93; = $convert&#91;60&#93;;
     unset&#40;$convert&#41;;
    
     $ausabe&#91;$id&#93;=$tmp;
    &#125;
    ?>

  3. #3
    OJMD
    Gast

    Standard

    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'] = 'www.Internetseite1.de'; // Von welcher URL
    $cfg[1]['url'] = 'www.Internetseite2.de'; // Von welcher URL
    $cfg[2]['url'] = '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 ,-)

  4. #4
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    $ausabe[0][playername]

    die id ist die von der config....

  5. #5
    OJMD
    Gast

    Standard

    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.

    Vielen Dank, Oliver

  6. #6
    OJMD
    Gast

    Standard

    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???

    Code:
    <?php
    include&#40;"mysql.inc"&#41;;
    
    $convert = array&#40;&#41;;
    
    $cfg=array&#40;&#41;;
    $cfg&#91;0&#93;&#91;'url'&#93;     = 'Internetseite1'; // Von welcher URL
    $cfg&#91;1&#93;&#91;'url'&#93;     = 'Internetseite2'; // Von welcher URL
    $cfg&#91;2&#93;&#91;'url'&#93;     = 'Internetseite3'; // Von welcher URL
    $cfg&#91;3&#93;&#91;'url'&#93;     = ''; // Von welcher URL
    
    $cfg&#91;0&#93;&#91;'start'&#93;   = 'Klasse&#40;n&#41;'; // Wird benötigt um den Anfang festzustellen
    
    foreach &#40;$cfg AS $id=>$config&#41;
    &#123;
     $x=0;
     $tmp=array&#40;&#41;;
     $arr = file&#40;$config&#91;'url'&#93;&#41;; // Datei wird eingelesen
     for&#40;$i=0;$i<count&#40;$arr&#41;;$i++&#41;
     &#123;
      $arr&#91;$i&#93; = trim&#40; html_entity_decode&#40; strip_tags&#40;$arr&#91;$i&#93;&#41; &#41; &#41;; // Tags entfernen
       
      if&#40;!empty&#40;$arr&#91;$i&#93;&#41;&#41;  // Prüfen ob nicht Leer und entferne Vor-Nachleerzeichen
      &#123;
       $convert&#91;$x&#93;=$arr&#91;$i&#93;; // an das Hilfsarray anfügen
       
       if &#40;$config&#91;'start'&#93;==$arr&#91;$i&#93;&#41;
        $tmp&#91;$id&#93;&#91;'start'&#93;=$x;
       
       $x++;
      &#125;
    
     &#125;
    
     $playername     = $convert&#91;2&#93;;
     $playerid       = $convert&#91;28&#93;;
     $lastconnect    = $convert&#91;32&#93;;
     $totaltime      = $convert&#91;34&#93;;
     $rank           = $convert&#91;40&#93;;
     $points         = $convert&#91;42&#93;;
     $activity       = $convert&#91;44&#93;;
     $kills          = $convert&#91;46&#93;;
     $deaths         = $convert&#91;48&#93;;
     $suicides       = $convert&#91;50&#93;;
     $killsperdeath  = $convert&#91;52&#93;;
     $weaponaccuracy = $convert&#91;60&#93;;
     
    
    $query = "UPDATE bk-ranking SET playername 	= '$playername',
    				lastconnect 	= '$lastconnect',
    				totaltime 	= '$totaltime',
    				rank 		= '$rank',
    				points 		= '$points',
    				activity 	= '$activity',
    				kills 		= '$kills',
    				deaths		= '$deaths',
    				suicides 	= '$suicides',
    				killsperdeath 	= '$killsperdeath',
    				weaponaccuracy 	= '$weaponaccuracy' WHERE playerid = '$playerid'";
    $dummy = mysql_query&#40;$query&#41;;
    unset&#40;$convert&#41;;
    $ausgabe&#91;$id&#93;=$tmp;
    &#125;
    ?>
    Kann mir jemand ein Tip geben?

    Gruss Oliver , ...

  7. #7
    Kaiser(in)
    Registriert seit
    09.12.2005
    Alter
    29
    Beiträge
    2.496
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    vll existiert der eintrag in der datenbank nicht ?
    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  8. #8
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    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();

  9. #9
    OJMD
    Gast

    Standard

    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.

  10. #10
    Gast

    Standard

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

    Code:
    $id=$_GET&#91;'id'&#93;
    lösen.

    in deinem Fall wäre es
    Code:
    $playerid=$_GET&#91;'playerid'&#93;
    versuchs mal wenn du es über
    Code:
    $convert = array&#40;&#41;;
    einfügst!

Ähnliche Themen

  1. PC Optimierung
    Von Bullit im Forum Computer - Internet Forum
    Antworten: 1
    Letzter Beitrag: 11.10.2007, 17:27
  2. Optimierung von Posts
    Von Slyer im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 26.07.2007, 22:37
  3. Seitenaufbau durch Ranking-Code sehr lange!!
    Von devil7 im Forum HTML & CSS Forum
    Antworten: 3
    Letzter Beitrag: 14.09.2006, 21:33
  4. code ausklammern durch checkbox oder ähnliches
    Von linxxx im Forum HTML & CSS Forum
    Antworten: 2
    Letzter Beitrag: 12.08.2005, 10:47
  5. Optimierung und Promotion
    Von BundeslandAnzeigen im Forum Link Tipps
    Antworten: 1
    Letzter Beitrag: 02.09.2004, 23:01

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •