Ankündigung

Einklappen
Keine Ankündigung bisher.

Alle werte in array laden

Einklappen

Neue Werbung 2019

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

  • Alle werte in array laden

    Hallo allesamt,

    hab leider noch ein Prob, allerdings weiss ich partu nicht, warum das nicht geht, ging sonst immer.

    Hier erstmal der Teil, um den es geht:
    Code:
    $mapxabfrage=mysql_query("SELECT xkoord FROM `imp_users`");
    $mapx=mysql_fetch_array($mapxabfrage);
    $mapyabfrage=mysql_query("SELECT ykoord FROM `imp_users`");
    $mapy=mysql_fetch_array($mapyabfrage);
    wie wahrscheinlich erkannt, möchte ich die tabellenspalte xkoord und ykoord in jeweils ein array schreiben. Komischerweise nimmt er aber nur den ersten Wert ins array, der rest fehlt. Woran liegt denn das?
    Der müsste doch eigentlich die gesamte Spalte aus der DB auslesen.

    Kann mir da bitte jemand helfen?

  • #2
    Code:
    $mapxabfrage=mysql_query("SELECT xkoord FROM `imp_users`");
        while($mapx=mysql_fetch_array($mapxabfrage)) {
             //mach irgendwas mit den werten
        }

    Kommentar


    • #3
      he, cool, ich glaub jetzt weiss ich, wie ich es hinbekomme. Danke

      Kommentar


      • #4
        Macht er nicht! Er macht ein Array!
        Machs mal so:

        Code:
        $mapxabfrage=mysql_query("SELECT xkoord,ykoord FROM `imp_users`");
        while($map = mysql_fetch_assoc($mapxabfrage))
        {
        echo $map[xkoord];
        echo "
        ".$map[ykoord];
        }

        Kommentar


        • #5
          Code:
          $x = 0;
          $mapxabfrage=mysql_query("SELECT xkoord,ykoord FROM `imp_users`"); 
          while($map = mysql_fetch_assoc($mapxabfrage)) 
          { 
          $array[xkoord][$x] = $map[xkoord]; 
          $array[ykoord][$x] = $map[ykoord]; 
          $x++;
          }

          Kommentar


          • #6
            dank an alle, vorallem vic, es geht, zwar sind noch bugs drin, aber die pfeile ich nach und nach raus.
            immerhin hab ich endlich meine daten


            DANKE SCHÖN !!!

            Kommentar


            • #7
              ^^ np

              allerdings nicht gehen wird z.B:
              Code:
              echo "$array[xkoord][1]";
              es muss dann so heißen:
              Code:
              echo "".$array[xkoord][1]."";

              Kommentar


              • #8
                schon klar.
                ich gebe die arrays ja nicht aus, sondern lasse sie vergleichen mit in einer for-schleife generierten werten

                allerdings ist eins komisch
                er nimmt alle werte, bis auf den ersten. jetzt hab ichs im Prinzip genau seitenverkehrt zu vorher.

                Kommentar


                • #9
                  sorry, war mein fehler. Hatte erst bei 1 begonnen auszulesen. Alt bekannt und peinlich. *gg*

                  Aber er macht mit trotzdem keine 0 rein
                  meine ersten koords sind 0/0. Da schreibt er mir bei der ausgabe nur / hin.

                  Ist das normal?

                  Noch ne frage:

                  Wie kann ich diese beiden if-schleifen zusammenfassen?
                  Code:
                  if(in_array($x2, $array[xkoord]))
                           {
                               if(in_array($y2, $array[ykoord]))
                               {

                  Kommentar


                  • #10
                    $array[xkoord][0] <- ist der erste

                    vielleicht haste in der for schleife
                    Code:
                    $x = 0;
                    
                    for(bla)
                    {
                    $x++; // dann wäre x schon 1 !
                    echo $array[xkoord][$x];
                    }

                    Kommentar


                    • #11
                      Code:
                      <?php
                      include("includes/security.php");
                      include("includes/config.php");
                      include("includes/connect.php");
                      $database=mysql_select_db("$DB");
                      switch($data["epoche"])
                      {
                         case "1":
                         include ("includes/css/steinzeit_header.php");
                         break;
                         case "2":
                         include ("includes/css/fruehes_mittelalter_header.php");
                         break;
                         case "3":
                         include ("includes/css/dunkles_mittelalter_header.php");
                         break;
                         case "4":
                         include ("includes/css/renaissance_header.php");
                         break;
                         case "5":
                         include ("includes/css/neuzeit_header.php");
                         break;
                      }
                      ?>
                      
                      
                      <h3>Karte</h3></p>
                      <?php
                      $ukx=array();
                      $uky=array();
                      //Koords aus der DB auslesen
                      $mapxabfrage=mysql_query("SELECT xkoord FROM `imp_users`");
                      while($mapx = mysql_fetch_assoc($mapxabfrage))
                      {
                      $array[xkoord][$x] = $mapx[xkoord];
                      $x++;
                      }
                      
                      $mapyabfrage=mysql_query("SELECT ykoord FROM `imp_users`");
                      while($mapy = mysql_fetch_assoc($mapyabfrage))
                      {
                      $array[ykoord][$y] = $mapy[ykoord];
                      $y++;
                      }
                      
                      
                      //Mittelpunkt festlegen
                      $x1=$data["xkoord"];
                      $y1=$data["ykoord"];
                      //startpunkte der Tabelle festlegen
                      $x2=$x1-4;
                      $y2=$y1-5;
                      
                      echo count($array[xkoord])."
                      ";
                      echo count($array[ykoord])."
                      ";
                      //Karte generieren
                      echo "<table class='table'><tr><td>";
                      echo "<table>";
                      for ($a=0;$a<9;$a++)
                      {
                      $y2++;
                      echo $array[xkoord][$a]."/".$array[ykoord][$a]."
                      ";
                      echo "<tr>";
                      echo "<td>".$y2."</td>";
                      for($b=0;$b<9;$b++)
                      {
                               //hier muss das vergleichsverfahren rein, um zu gucken, ob die koords der DB gleich den momentan generierten sind
                               if(in_array($x2, $array[xkoord]))
                               {
                                   if(in_array($y2, $array[ykoord]))
                                   {
                                   echo "<td>[img]images/map/map_v1.png[/img]</td>";
                                   }
                                   else
                                   {
                                   echo "<td>[img]images/map/map_free.png[/img]</td>";
                                   }
                               }
                               else
                               {
                               echo "<td>[img]images/map/map_free.png[/img]</td>";
                               }
                      $x2++;
                      }
                      echo "</tr>";
                      $x2=$x1-4;
                      }
                      echo "</table>";
                      echo "</td></tr></table>";
                      ?>

                      Kommentar


                      • #12
                        hab eben festellen müssen, das meine vergleichsoperation nicht klappt.

                        Muss ich nochmal ans Reissbrett.

                        er macht mir jedesmal ein true wenn einer der beiden koords beinhaltet ist.
                        Soll aber so sein, das er nur true macht, wenn beide zusammen gleichzeitig drin sind.

                        Kommentar

                        Lädt...
                        X