PHP & arrays

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

  • PHP & arrays

    Hi Leute, ich hol von einer MySQL DB einen Array:

    PHP-Code:
    <?php
    include("includes/global.inc");
    $result mysql_query("SELECT * FROM `bilder` 
    INNER JOIN `galerien` ON galerien.galID = bilder.section"
    ,$conn);
    $c = array();
    while(
    $b mysql_fetch_array($result)) {
    $c[] = $b;
    }
    ?>
    Dies ergibt dann folgenden Array wenn ich den mit print_r ausgebe:

    Array
    (
    [0] => Array
    (
    [0] => 0
    [picID] => 1

    [1] => 1
    [format] => 1
    [2] => 0
    [original] => 0
    [3] => Testbild
    [name] => Testbild
    [4] => PHP in HTML
    [beschreibung] => PHP in HTML
    [5] => 90 x 90
    [size] => 90 x 90
    [6] => 8
    [section] => 8
    [7] => 90
    [preis] => 90
    [8] => 99
    [preisliste] => 99
    [9] => 20050305204020
    [datum] => 20050305152708
    )

    [1] => Array
    (
    [0] => 2
    [picID] => 2
    [1] => 1
    [format] => 1
    [2] => 0
    [original] => 0
    [3] => Bild2
    [name] => Bild2
    [4] => jud ush uds fuhsdf ui
    [beschreibung] => jud ush uds fuhsdf ui
    [5] => 70 x 70
    [size] => 70 x 70
    [6] => 6
    [section] => 6
    [7] => 10
    [preis] => 10
    [8] => 0
    [preisliste] => 0
    [9] => 20050306011741
    [datum] => 20050305152554
    )
    Mit $c[row][field] Kann ich nun den Array ja genau auslesen. Nur muss ich nun irgendwie rausbekommen können in welcher ROW z.b. picID=2 ist. Das wichtige
    ist nur die Row. Irgendwie hab ich das mit suchen nicht rausbekommen.

    Grüße

  • #2
    weiß zwar nicht welches ziel du verfolgst, aber speicher die row doch einfach mit ins array.

    Kommentar


    • #3
      wie die row mit in den array speichern?

      später wird die seite mit der bild id als parameter aufgerufen, und dann muss ich errechnen können das wievielte bild dies von allen ist, und welches das bild davor und welches das bild danach ist. und da dachte ich ist der aufbau der beste.
      aber nun fehlt es mir nach einer geeigneten array such funktion, so dass ich feststellen kann dass galID=2 ist und welche row das betrifft.

      ich hoffe das war etwas verständlich

      Kommentar


      • #4
        achm du hast ne bildglerie. dann brauchst das gar nicht! Guck dir Limit an. Guck dir mal meine Photoalben auf hawabii.de an.

        Kommentar


        • #5
          ja die bilder werden halt dynamisch verwaltet, und so können auch mal welche gelöscht werden. daher dachte ich kann ich mit der $row sagen das wievielte bild es von mysql_num_result() ist, und $row-1 und $row+1 ist das vorherige oder das nächste bild.
          wie wäre der denkansatz besser?
          ich wollte auch zuviele mysql strings vermeiden.

          Kommentar


          • #6
            und meintest du das MySQL Limit?

            Kommentar


            • #7
              also ich brauche einen (max. 2, je nach aufbau der vor-zurück-buttons).

              ich übergebe die seitenzahl (0 bis n) und frage danach ab. ohne auch nur irgendeine bildid oder sonstwas zu kennen. du steuerst alles über das mysql-LIMIT.

              Aber den rest denkst du dir mal selber.

              Kommentar


              • #8
                ja gut, ich kucke in welcher row das bild steht und mach ein LIMIT ($row-1,3), das ist schon klar.
                Aber wie kann man denn in meiner Herangehensweise den Array durchsuchen?
                Ist das überhaupt möglich?

                Kommentar


                • #9
                  sagen wir mal das es so überflüssig ist, dass ich da gar nicht drüber nachdenke. geht mit sicherheit, weil dein array ja 1:1 die zeilen widerspiegelt, aber warul sollte ich alle zeilen in ein array einlesen, wenn ich nur eine brauche?

                  angenommen ich möchte bild id 15 haben. wie holst du dir die zugehörigen daten aus dem array raus?

                  BTW: haste schon online?
                  Zuletzt geändert von TobiaZ; 06.03.2005, 11:14.

                  Kommentar


                  • #10
                    jo ich brauch die ja nicht unbedingt. aber das erschien mir als leichteste lösung.
                    ich versteh immer noch nicht wie du das mit 1-2 querys gelöst hast. Weil um das anders zu Lösen muss ich zuerst rausfinden in welcher Row das Bild steht, dann mit Limit abfragen welches die 2 Bilder sind um das gewünschte Bild herum. Irgendwie erscheint mir das auch nicht gerade als sehr simpel.

                    es ist ja noch nichts da was geht. daher noch nicht online, lieg alles hier.

                    ehm darum wäre es ja gegenagen, dann hääte ich danach gesucht in welcher row picID=15, ergebnis z.b. 14

                    echo $bild[14]['name'];
                    und link auf das bild vorher => echo $bild[15]['picID'];

                    und wenn ich weiss dass es in der row14 steht weiss ich auch dass es das 14. Bild von mysql_num_rows(); ist.
                    Zuletzt geändert von p_rehm; 06.03.2005, 11:19.

                    Kommentar


                    • #11
                      also für einen internetdienstleister sollte es sehr simpel sein
                      EDIT:
                      Okay, dass heißt du hast dir mal aufs gerade wohl ein array ausgelesen, ohne dir wirklich gedanken darüber zu machen, wie du es verarbeiten kannst. das macht man normalerweise nur, wenn man die datenquelle nicht beeinflussen kannst. in deinem fall solltest du eher andersrum vorgehen. viel erfolg.
                      Zuletzt geändert von TobiaZ; 06.03.2005, 11:24.

                      Kommentar


                      • #12
                        hehe, es wäre ja auch kein problem wenn ich den array den ich auf der vorherigen seite geschrieben habe nach picID="13" durchsuchen könnte. Notfalls kann ich mir auch eine eigene Suche basteln, aber ich suche nach einer gegeben lösung, da gibbes sicher was.

                        Kommentar


                        • #13
                          wennes dir selber basteln kannst, warum dann nicht schnell die 4 zeilen code geschrieben, sondern diesen ellen langen thread?

                          musst du auf deine stunden kommen

                          Das das alles andere als effektiv ist, hatte ich schon erwähnt, oder?

                          Kommentar


                          • #14
                            weil ich dachte es gibt da sicher eine möglichkeit direkt von PHP.
                            Aber da hab ich mich wohl geirrt
                            Trotzdem danke!
                            OffTopic:
                            Wieso noch 110 tage bis zum ABI? schreibst du nicht früher?

                            Kommentar


                            • #15
                              OffTopic:
                              Wieso noch 110 tage bis zum ABI? schreibst du nicht früher?
                              Wann ich die klausuren schreibe, ist ja für die berechnung irrelevant

                              Kommentar

                              Lädt...
                              X