Performance Frage

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Performance Frage

    Hallo alle zusammen habe folgendes Problem:

    Ich habe in eienr Datenbank eine Tabelle die 4 Spalten hat, eine mit der ID, x-koordinaten,y-koordinaten und ner Bildurl

    Mein Script erzeugt aus diesem Datensatz je nach Abfarge eine Karte einer bestimmten Region, dieses zerrt aber ziemlich am rechner der diese aufruft, besonders wenn man ne Größe ab 30x30 haben will, hänge mal den Abfrage Code dran, würde mich freuen wenn wer mir sagen kann ob sich dies ändern lässt und wie oder ob es nicht viel besser geht

    PHP-Code:
    //Kartendaten auslesen und darstellen
    for($zeilenZ $yStartkor$zeilenZ $Bereichszahl1$zeilenZ++)
        {
        print 
    "<tr>";
        for(
    $spaltenZ $xStartkor$spaltenZ $Bereichszahl2$spaltenZ++)
            {
           
    $abfrage "SELECT * FROM Kartendaten WHERE XKord = ".$spaltenZ." AND YKord = ".$zeilenZ."";
           
    $ergebnis mysql_query($abfrage);
           
    $row mysql_fetch_object($ergebnis);
           print 
    "<td width=\"".$zoom."\" height=\"".$zoom."\"
     align=\"center\" background=\"grafikpack/"
    .$row->Typus."\">
    <img width=\""
    .$zoom."\" height=\"".$zoom."\" border=\"0\" src=\"grafikpack/".$row->
    Bauwerk."\" onmouseover=\"this.T_WIDTH=50; return escape('(".$spaltenZ."/".$zeilenZ.")')\"></td>";
            }
        print 
    "</tr>";
        } 
    Zuletzt geändert von xpuffy; 20.12.2005, 20:41.

  • #2
    Keine horizontalen Scrollbalken
    Informatiker sind FAUL! Folglich mag hier niemand eine horizontale Scrollbar nach rechts bewegen. Achtet also beim Posten darauf, dass ihr bei "breitem" Quelltext entsprechende Umbrüche in den Text einfügt, so dass euer Posting bei einer Auflösung von 1024 Pixeln (Breite) ohne Hindernisse zu lesen ist.
    Tipp: Meist sind lange SQL-Queries oder HTML-Codes die Ursache. Diese lassen sich ohne bedenken umbrechen, kürzen oder sogar entfernen.

    Kommentar


    • #3
      sry habe es geändert, aber die HTML Ausgabe geht nciht kürzer es werden alle ausgegeben Infos benötigt

      Kommentar


      • #4
        hm... es könnte sein dass ich falsch liege, aber wie sieht's denn aus, wenn du so eine Abfrage absetzst:
        PHP-Code:
        $xmin $xStartkor;
        $xmax $xStartkor $Bereichszahl2 -1
        $ymin 
        $yStartkor;
        $ymax $yStartkor $Bereichszahl1 -1
        $sql 
        "select ... from ... where (XKord between $xmin and $xmax
                     AND (YKord between 
        $ymin and $ymax)"
        dann muss du jetzt nur noch mit der Ausgabe etwas tüfteln

        Kommentar


        • #5
          Das geht leider nicht weil die Kartendaten nicht lückenlos sind, das heist manche abfragen kein ergebnis haben und so einfach ne fehlerhafte zelle ind er tabelle auf der Ansichtseite erzeugt wird die leer bleibt

          Kommentar


          • #6
            in deiner beiden for-Schleifen prüfst du das ja auch nicht! meine Abfrage liefert genau die Datenmengen, was du auch in deiner Schleifen bekommst, nur nicht geordnet. Du kannst natürlich sortieren und geeignet ausgeben. Die Begründung, dass die Abfrage eventuell nichts liefert, lasse ich nicht so gelten

            Kommentar


            • #7
              Kann man sich das irgendwo anschaun?
              Der Mensch ist ein Tier das zuviel denkt!

              Kommentar


              • #8
                Ja aber dann würde die Karte falsch ausgegeben werden weil ja dann die nicht vorhandenen Daten einfach übergangen werden. In Aktion ist es hier:

                http://www.schokoei.de/www/karte/kar...weite=12&gr=65

                Kommentar


                • #9
                  Original geschrieben von xpuffy
                  Ja aber dann würde die Karte falsch ausgegeben werden weil ja dann die nicht vorhandenen Daten einfach übergangen werden. In Aktion ist es hier:

                  http://www.schokoei.de/www/karte/kar...weite=12&gr=65
                  seufz ... du verstehst dein Code ja selbst nicht! Mit deinem Code gibst du die Bilder zeilenweise aus und prüfst überhaupt nicht, ob die Abfrage irgendwas gültiges liefert. Mit meiner Abfrage und zusätzliche Sortierung, bekommst du die Daten genauso, mit dem Unterschied, dass du die Abfrage nur einmal absetzen musst. Also sortiere zuerst nach y-koordinaten, dann nach x-Koordinaten, dann hast du die Daten, als ob du mit 2 Schleifen bekommst.

                  Kommentar

                  Lädt...
                  X