Galeriecsript zum 2.

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

  • Galeriecsript zum 2.

    Guten Morgen,

    nachdem ich mir ein paar Galeriescripte angeschaut habe, fing ich erneut an, an meinem eigenen Script zu 'basteln'.
    Aber irgendwie bekomme ich das von mir gewünschte nicht hin:
    Aus 2 Tabellen (1. Tabelle: cat_id, cat_name, cat_thumb, cat_orig; 2.Tabelle: image_id, cat_id, image_name) möchte ich pro Kategorie den Namen der Kategorie und den Namen eines zufällig ausgewählten Bildes anzeigen lassen.

    Hier ist meine Abfrage der Db-Tabellen:
    PHP-Code:
    $sql "SELECT gal_photos.cat_id, gal_photos.image_name, gal_categories.cat_name, 
    gal_categories.cat_thumb_path 
    FROM gal_photos, gal_categories 
    WHERE gal_categories.cat_id = gal_photos.cat_id 
    ORDER BY RAND()"

    Mit
    PHP-Code:
    $images = array();

    $res mysql_query$sql );
    while( 
    $row mysql_fetch_array$resMYSQL_ASSOC ) )
    {
         
    $images[$row['cat_id']] = $row;

    fülle ich mir ein Array, wo die Bildinformationen gespeichert sind. Wenn ich mir das Array ausgebe, werden mit jedem Refresh der Seite pro Kategorie ein anderes Bild aus der Db geholt. Dies scheint zumindest zu funktionieren.
    Aber jetzt komme ich nicht weiter, mir das Zufallsbild (Bildname) und die jeweilige Kategorie auszugeben.
    Ich habe es mit
    PHP-Code:
    $cat_id array_rand$images );

    if( !empty( 
    $images$cat_id ] ) )
    {
         
    print_r$images[$cat_id]['image_name'] );

    versucht, aber das zeigt mir jeweils nur ein Bild an. Ich denke es liegt daran, das ich mir ja zufällig eine cat_id aus dem Array hole und dann das entsprechende Bild dazu. Das bringt mich aber nicht zu meinem Ergebnis, zu jeder Kategorie in dem Array den Bildernamen auszulesen.
    Wie kann ich das lösen?

    Gruß,
    Arndtinho
    Zuletzt geändert von Arndtinho; 15.07.2005, 08:22.

  • #2
    nachdem ich gesehen habe, dass du

    1. seit mehr als 1 Jahr dabei bist und
    2. mehr als 1 Posting gepostet hast

    habe ich mich entschieden, dich auf http://www.php-resource.de/forum/sho...threadid=50454
    zu verweisen und drum zu bitten, dein Posting schleunigst zu editieren,
    sonst werde ich ohne Vorwarnung ins Trash schieben

    Kommentar


    • #3
      besser so?

      Kommentar


      • #4
        ich habe jetzt wirklich alles unnötige verstanden, aber keine wirklich sinnvollen erkenntnisse aus deiner frage erschließen können. warum schreibst du
        PHP-Code:
        $cat_id array_rand$images ); 
        statt
        PHP-Code:
        $random_image array_rand($images); print_r($random_image); 
        und zeigst erst mal, was da rauskommt?

        Kommentar


        • #5
          Re:

          Hallo,

          da werden nach dem Zufallsprinzip die KategorieId's angezeigt.

          Vielleicht nochmal zum besseren Verständnis:

          Ich habe zwei Tabellen. In den Tabellen sind verschiedene Kategorien (Tabelle1) und die dazugehörigen Bilder (Tabelle2) gespeichert. Ich möchte jetzt daraus eine kleine Galerie erstellen. Auf der galerie_index.php sollen die vorhandenen Kategorien und ein zufällig und zu der jeweiligen Kategorie gehörendes Bild angezeigt werden.

          Daran sitze ich schon seit ein paar Tagen und komme zu keinem Ergebnis.

          Gruß,
          Arndtinho

          Kommentar


          • #6
            du redest immer noch von sachen, die irrelevant sind, statt eine konkrete frage zu stellen.

            wichtig ist, dass du ein array hast, dessen schlüssel immer die cat_id ist, sodass dein array so viele elemente (=bilder) enthält, wie kategorien da sind.

            aber das zeigt mir jeweils nur ein Bild an
            OffTopic:
            wer?
            dann bastel dir eine schleife, die alle elemente dieses arrays durchgeht und ausgibt.

            Kommentar


            • #7
              ich erstelle ja ein Array:
              PHP-Code:
              while( $row mysql_fetch_array$resMYSQL_ASSOC ) )
              {
                   
              $images[$row['cat_id']] = $row;

              Nun habe ich versucht aus diesem Array die entsprechende Kategorie und das dazugehörige Bild auszulesen. Verwendet habe ich foreach().
              PHP-Code:
              foreach( $images as $key => $val )
              {
                   echo 
              $val['cat_id']['image_name']."<br>";

              Da bekomme ich zweimal eine 0 angezeigt.
              Was mache ich falsch?

              Arndtinho
              Zuletzt geändert von Arndtinho; 15.07.2005, 12:32.

              Kommentar


              • #8
                mach mal statt
                PHP-Code:
                echo $val['cat_id']['image_name']."<br>"
                so etwas wie
                PHP-Code:
                print_r($key); 
                und lerne endlich das debuggen.

                Kommentar


                • #9
                  Da bekomme ich die Kategorien angezeigt.

                  Kommentar


                  • #10
                    OffTopic:
                    ...is nich wahr...
                    und bei $val?

                    Kommentar


                    • #11
                      PHP-Code:
                      $var['image_name']; 
                      Danke!

                      Kommentar


                      • #12
                        ich wette, du meinst $val und nicht $var.
                        und, seid print_r() und du jetzt freunde?

                        Kommentar


                        • #13
                          sorry, meinte natürlich $val.

                          was die Freundschaft zwischen mir und print_r() angeht, haben wir uns ein wenig angenähert. Ich muss erstmal in die Doku schauen um zu sehen, was der Unterschied ist.

                          Gruß,
                          Arndtinho

                          Kommentar

                          Lädt...
                          X