Verstehe Array nicht

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

  • Verstehe Array nicht

    Hi Leute,

    ich hoffe ihr könnt mir helfen.

    Ich bin anscheinend zu doof Arrays zu verstehen und damit umzugehen.

    Ich möchte z.b. eine Tabelle mit folgender grösse erstellen :

    Reihen : 50
    Spalten : 25

    Diese möchte ich gerne in ein Array schreiben, ich will ja schliesslich nicht ne Datenbank anlegen wie :

    $Reihe1_spalte1 = "12" ;
    $Reihe1_spalte2 = "24" ;
    .
    .
    $Reihe50_spalte25 = "blabla" ;

    Meine Fragen dazu :
    - WIE schreib ich das in ein Array ?
    - WIE schreibe ich das Array in die DB ?
    - WIE lese ich es wieder aus und greife auf die Daten zu ?

    Naja hoffe ihr versteht was ich meine und schonmal dankeschön für eure Hilfe
    - Carpe Noctem -

  • #2
    http://www.php.net/manual/de/language.types.array.php
    mfg
    Günni


    Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
    Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
    Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
    City-Tiger - Online durch die Straßen tigern...

    Kommentar


    • #3
      Ja danke aber nach dem PHP Tut hab ich mir schon die Finger wund getippt und den Kopf zerbrochen aber was funktionierendes ist dabei nicht rausgekommen.
      Gehöre nicht zu den Leuten die gleich fragen weil sie zu faul zum suchen sind

      Bin also genauso schlau wie vorher und hoffe weiter darauf, das sich jemand erbarmt mir das mal verständlich zu machen statt nen Link zu posten den ich schon kenne und der mir leider nicht helfen konnte.

      Wäre nett wenn sich jemand die zeit und Lust dazu nimmt
      - Carpe Noctem -

      Kommentar


      • #4
        Re: Verstehe Array nicht

        Original geschrieben von DarkWanderer
        Meine Fragen dazu :
        - WIE schreib ich das in ein Array ?
        - WIE schreibe ich das Array in die DB ?
        - WIE lese ich es wieder aus und greife auf die Daten zu ?
        1.
        PHP-Code:
        $array[zeile1][spalte1] = "hjhjk";
        $array[zeile1][spalte2] = "hjhjk";
        .
        .
        .
        $array[zeile50][spalte25] = "hjhjk"
        das war zur erklärung...

        so kannst du das dann im script machen.

        PHP-Code:
        $array[1][1] = "hjhjk";
        $array[1][2] = "hjhjk";
        .
        .
        .
        $array[50][25] = "hjhjk"
        die nummern kannst du durch ne schleife jagen.

        PHP-Code:
        for($zeile=0;$zeile<50;$zeile++) {
          for(
        $spalte=0;$spalte<50;$spalte++) {
            
        $array[$zeile][$spalte] = "zeile " $zeile " / spalte " $spalte;
          }
        }
        // testausgabe
        echo "<pre>";
        print_r($array);
        echo 
        "</pre>"
        2. + 3.
        musst du dann mal selber finden ...
        das prinzip von arrays sollte jetzt aber klar sein.

        info: die o.g. form von array ist ein mehrdimensionales array.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Hi,

          ok danke die Antwort hilft mir schon mal n Stückchen weiter, allerdings bin ich mir immer noch nicht sicher was das schreiben dieses Arrays in die Datenbank angeht !

          Könnte das so aussehen :

          for($reihe=0;$reihe<50;$reihe++) {
          for($spalte=0;$spalte<$25;$spalte++) {
          $array[$reihe][$spalte] = "---" . $reihe . "---" . $spalte;
          $einfuegen=mysql_query("INSERT INTO koordinaten (reihe,spalte) VALUES ($array[$reihe][$spalte])");
          }
          }

          Wobei die Frage ist, wie muss überhaupt der Table aussehen dazu den ich ja in der DB erstmal erstellen muss.
          - Carpe Noctem -

          Kommentar


          • #6
            die frage stellt sich für mich eigentlich erst, wenn du weisst, was du willst ...

            im moment blicke ich nämlich nicht so durch, was du vor hast.

            die sache mit dem array sollte jetzt geklärt sein.

            was DBs angeht, sollte es auch nciht verkehrt sein, mal ein buch zu nehmen. ich habe so das gefühl, dass du nicht so den plan von php und mysql hast.
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Das ich Plan habe, habe ich meines Wissens nie behauptet.

              Was ich will sollte doch eigentlich klar sein, das gefüllte Array in eine Datenbank schreiben.

              Und in ein Buch schaue ich gerne sofern mir jemand unentgeltlich ein gutes Buch schickt. Die betonung liegt hier auf gut und unentgeldlich

              Hoffe das beantwortet deine Fragen.
              - Carpe Noctem -

              Kommentar


              • #8
                Was ich will sollte doch eigentlich klar sein, das gefüllte Array in eine Datenbank schreiben.
                schon klar. aber welchen sinn macht es ein array in die DB zu schreiben. was hast du mit den daten vor?

                Die betonung liegt hier auf gut und unentgeldlich
                http://de.php.net/manual/de onlinebuch ....
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  Danke der Link wurde oben schon gepostet, bin bedient.
                  Aber egal ist hier auch nicht Thema der Sache.

                  Also die Frage erscheint mir auch n bissl seltsam

                  Was will man mit einem Array in der Datenbank ?
                  Richtig, es auslesen weil man auf die darin enthaltenen Daten zugreifen will.
                  Es ändern weil sich eventuell die darin enthaltenen Daten ändern !

                  Aber auch das hättest du in meinem ersten Post schon nachlesen können, wundere mich also grade etwas
                  - Carpe Noctem -

                  Kommentar


                  • #10
                    jajaja....

                    mir erscheint diese lösung nur sehr umständlich mit dem array. daher eher meine frage.

                    wenn man wüsste, was du willst, kann man auch eine bessere lösung finden ...
                    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                    Kommentar


                    • #11
                      Achso, hmm wie soll ich das erklären.

                      Das ganze hat was mit einer Art Spiel zu tun.

                      Also erstes soll per Script jedem Feld in einem 25x10 grossen Spielfeld der Wert "0" zugeteilt werden und das so in die DB eingetragen werden.

                      So, jeder Spieler bekommt per Zufallsgenerator eine Position in diesem Spielfeld zugewiesen.

                      Also ermittle ich die Zufallszahl,
                      schaue ob das gewünschte Feld den Wert "0" hat,
                      wenn das der Fall ist soll der Wert "0" durch einen anderen Wert (Einen Wert für den betreffenden Spieler) ersetzt werden.

                      So das sollte es hoffentlich recht gut erklären.

                      Also muss ich
                      a) das Spielfeld in die DB schreiben lassen mit Wert "0" in jedem Feld
                      b) die Werte aus der DB abfragen können zur Überprüfung
                      c) die Werte in der DB durch neue ersetzen können.

                      So, hoffe das hilft weiter

                      Vielleicht hast du ja auch eine bessere Lösung als ein Array parat, würde mich natürlich auch freuen
                      - Carpe Noctem -

                      Kommentar


                      • #12
                        Also erstes soll per Script jedem Feld in einem 25x10 grossen Spielfeld der Wert "0" zugeteilt werden und das so in die DB eingetragen werden.
                        da würde ich überhaupt nicht zweidimensional rangehen an so ein problem.

                        ich würde mir einfach eine db-tabelle mit zwei feldern machen, id und wert.

                        in dieser tabelle werden dann 25 * 10 = 250 zeilen drin sein, mit id im bereich von 0 bis 249.

                        und welche eindimensionale id nun welchem zweidimensionalen feldindex entspricht, kannst du dir ja dann leicht nach der formel

                        id_in_tabelle = (zeilennummer_feld - 1) * 25 + (spaltennummer_feld - 1)

                        ausrechnen.

                        diese formel rechnet dir deine zweidimensionalen koordinaten in einen eindeutigen wert von 0 bis 249 um, unter dem du dann in der datenbank deine feldbelegung wiederfindest.
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          so ähnlich würde ich es auch machen.

                          wenn die werte pro feld nur zwischen 0 und 9 sind, kannst du alle felder zusammen in eine zeile schreiben

                          002541135445851334.....

                          du weisst, viewiele felder pro spalte und zeile sind. das kannst du bequem auslesen und splitten bzw. auslesen.

                          ein feld für die ID in der DB sollte rein, und dann ein db.feld für das spielfeld mit der o.g. variante.

                          wenn die spielfelder unterschiedlich groß sind, kannst du ja weitere spalten in die db einfügen. ein feld für spaltenanzahl und ein weiteres für die zeilenanzahl.

                          anhand dieser werte kannst du den spielfeldstring jederzeit korrekt bearbeiten/auslesen.

                          sollte die werte > 9 aber < 100 sein, kannst du ja pro wert zwei byte reservieren. eine 0 wird dann zu 00.

                          alles verstanden?
                          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                          Kommentar

                          Lädt...
                          X