Ausgabe eines Koordinatensystems

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

  • Ausgabe eines Koordinatensystems

    Hallo erstmal,

    Ich habe in der Datenbank für jedes Feld des Koordinatensystems einen Eintrag (jeweils mit einem Wert für X und Y). Jetz muss das ganze ausgegeben werden.... in einer Tabelle. An sich kein Ding NUR muss innerhalb dieser while-schleife sobalt sich der Wert von X um 1 erhöht per echo ein </tr><tr> ausgegeben werden.

    Folglich wohl eine if-Anweisung innerhalb einer while-Schleife, aber wie überpfrüfe ich ob sich $KoordX um 1 erhöht ? Ich dachte an eine abfrage in richtung if($KoordX=$KoordX+1) nur... kann das ja logischer weise nicht funktionieren.

    Also mehr als ein array voller X-Koordinaten habe ich grade nicht in der Hand...

    Danke vorweg

  • #2
    du speicherst den vorherigen xwert und vergleichst ihn mit dem neuen.
    if(xNeu==xAlt+1){...
    blllubb

    Kommentar


    • #3
      naja hatte ich mir auch überlegt... aber entweder definiere ich for der while schleife eine $alt - Varialbe oder in der Whileschleife.

      mach ich es vor der schleife funktioniert das beim 1. mal aber danach nicht mehr. mach ich es in der schleife habe ich das gleiche problem wie vorhin.

      isn´t it ?

      Kommentar


      • #4
        Original geschrieben von onemansroad
        mach ich es in der schleife habe ich das gleiche problem wie vorhin.
        Denk mal drüber nach, wann in der Schleife der richtige Zeitpunkt für die Zuweisung sein könnte ...
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          hm... zwei while schleifen ?

          die äußere erhöht die variable $X-Alt um 1 und in der inneren wird der verglichen ? ( wodurch ich mir dann die if-anweisung schenken könnte ? )

          Ich mach mir zu dem Thema die ganze zeit gedanken ich erwarte ja auch keine fertig-lösung.... nur so rein vom programmablauf... steh ich wohl grad bisschen auf m schlauch

          Kommentar


          • #6
            Original geschrieben von onemansroad
            hm... zwei while schleifen ?
            Quark ...

            PHP-Code:
            // unsinnig
            while(...) {
               
            $alt $aktuell;
               if(
            $aktuell == $alt) {
                  
            //...
               
            }
            }

            // vielleicht sinnvoller ...?
            $alt = -1;
            while(...) {
               if(
            $aktuell == $alt) {
                  
            //...
               
            }
               
            $alt $aktuell;

            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              1. versteh ich deinen vorschlag leider überhaupt nicht *G*
              2. hat mir mein cheffe nahegelegt 2 verschachtelte for-schleifen für die abfrage/ausgabe zu nemen... da hab ich aber imo erst recht noch keine vorstellung wie ich das machen werde.

              Mein Eingabeskript war so aufgebaut:
              PHP-Code:
                      for($KoordX=100$KoordX 121$KoordX++)
                      {
                          for(
              $KoordY=100$KoordY 121$KoordY++)
                          {
                              
              $sql="INSERT INTO map (KoordX, KoordY, Art)
                                  VALUES ('
              $KoordX', '$KoordY', '$Art')";
                              
              $einf=mysql_query($sql);
                          }
                      } 
              Ich schreib das nu mal entsprechend um... das nach gleichem schema die DB abgefragt wird und eine entsprechende tabelle ausgegeben wird. wenn das funz werde ich vor freude sicher ein tränchen sausen lassen

              diese variante ist halt nur leider nicht sonderlich flexibel :-/ sollten mal neue felder hinzugefügt werden müsste ich die zwei schleifen umschreiben (bzw die bedingung halt)

              grüße

              edit: ich nehm mir deine signatur im übrigend wirklich zu herzen

              Kommentar


              • #8
                Original geschrieben von onemansroad
                2. hat mir mein cheffe nahegelegt, 2 verschachtelte for-Schleifen für die Abfrage/Ausgabe zu nehmen... da habe ich aber imho keine Vorstellung wie ich das machen werde.

                ich auch nicht. Wer ist cheffe?

                aber so wird es gut.
                PHP-Code:
                $alt = -1;
                while(....)
                {
                  
                $jetzt = ....;
                   if (
                $alt!=$jetzt && $alt!=-1) echo '</tr><tr>';
                  ...
                ausgabe.....
                  
                $alt=$jetzt;

                Kommentar


                • #9
                  ich auch nicht
                  ich aber.
                  er will doch immer wenn sich der x-wert um eins erhöht, eine neue zeile mit y-werten füllen. das lässt sich super mit zwei for-schleifen lösen. für jede x-wert-erhöhung (sprich iteration der x-for-schleife) werden y-werte geschrieben, eben in einer weiteren schleife.
                  blllubb

                  Kommentar


                  • #10
                    Aaaalso.... die Lösung ist natürlich ganz einfach ( war ja klar -.- )


                    PHP-Code:
                        <?php
                        
                         $Ymin
                    ="99";
                         
                    $Ymax="120";  
                         
                    $Xmin="100";
                         
                    $Xmax="120";
                        
                        
                            
                    mysql_connect('localhost','root','') or die(mysql_error());
                                
                    mysql_select_db("usr_web0_4") or die(mysql_error());

                            
                        echo 
                    "<table font=lightblue border=\"1\">";
                        for(
                    $y $Ymax$y $Ymin$y--) 
                        {
                          echo 
                    "<tr>";
                          for(
                    $x $Xmin$x $Xmax$x++) 
                          {
                            echo 
                    "<td>";
                            
                    $sql="SELECT Art FROM map WHERE KoordX='".$x."' AND KoordY='".$y."'";
                            
                    $result mysql_query($sql);
                            if(
                    $eintrag mysql_fetch_array($result)) 
                            {
                              echo 
                    "<img src=\"/all.GIF\" alt=\"$x|$y\" title=\"$x|$y\">";
                            }
                            else
                            {
                              echo 
                    "-";
                            }
                            echo 
                    "</td>";
                          }
                          echo 
                    "</tr>";
                        }
                        echo 
                    "</table>"
                       
                    ?>

                    Kommentar

                    Lädt...
                    X