Bildergalerie: geordnete Ausgabe.

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

  • Bildergalerie: geordnete Ausgabe.

    Hallo Leute, ich baue gerade eine Usergalerie, mit MySQL DB.
    Mein Prob ist die Ausgabe der Bilder. Ich habe eine Tabelle angelegt, in der das Bild und Bild Thumbnail gespeichert wird. Max. können 12 Bilder hochgeladen werden. Ich will die Ausgabe so machen, dass je 3 Bilder eine Zeile und 3 Spalten erstellt werden:

    -------------------------
    bild1 | bild2 | bild3 |
    -------------------------
    bild4 | bild25 | bild6 |
    -------------------------
    usw.
    Nun weiss ich nicht, wie man sowas am besten realisieren könnte. Weil gleich eine Tabelle mit 4 Zeilen und 3 Spalten zu erstellen ist nicht so sinnvoll, wenn ein User z.B. nur 2 Bilder hochgeladen hat.
    Kann mir da jemand was empfehlen, oder Code vorschlagen?

  • #2
    Was erwartest du? Das Thema Bildergalerie ist nicht neu.

    Kommentar


    • #3
      Deine Antwort bringt mich leider nicht weiter. Ich betreibe selber eine große Community und weiss, dass man zuerst "suche" benutzt.
      Ich bin leider nicht fündig geworden, was mein Problem angeht.
      Ich erwarte auch nicht unbedingt, dass mir geholfen wird. Wäre bloss nett, wenn jemand schon eine dynamische Ausgabe von <tr> </tr> gemacht hat und weiss, wie mandas Problem löst. Das würde mich weiter bringen.

      Kommentar


      • #4
        such nach spaltenweise, zeilenweise, etc.pp

        Kommentar


        • #5
          Ok, vielen Dank! Das hat mich schon weiter gebracht

          Kommentar


          • #6
            Irgendwie komme ich jetzt doch nicht weiter.
            Also ih wollte es so realisieren, dass die Bilder folgendermaßen ausgegeben werden, falls man z.B. 7 Bilder hochgeladen hatt:

            --------------------------------
            bild1 | bild2 | bild3 | bild4
            --------------------------------
            bild5 | bild6 | bild7| nichts
            --------------------------------

            Hab mir jetzt folgende Lösung:
            PHP-Code:
            <?php
            $pic_check 
            mysql_query("SELECT COUNT(*) as zahl FROM cse_user_pics WHERE user_id='$m_id'");
            $pic_c mysql_fetch_array($pic_check);
            $pics_zahl=$pic_c[zahl];

            $spalten=4;
            $zeilen = ( $pics_zahl $spalten )?( ( $pics_zahl - ( $pics_zahl $spalten ) ) / $spalten ):$pics_zahl $spalten;

            $gal_sel mysql_query("SELECT * FROM cse_user_pics WHERE user_id='$m_id' ORDER BY pic_id ASC");

            echo
            " <table width=\"100%\" border=\"0\" cellspacing=\"2\" cellpadding=\"0\"><tr><td>
            <table width=\"100%\" border=\"0\" cellspacing=\"2\" cellpadding=\"0\">"
            ;

            $pic_id_ar= array();
            $thumbnail_ar= array();

            while(
            $bild_daten=mysql_fetch_assoc($gal_sel))
            {

                 
            $thumbnail_ar[] = $bild_daten['pic_tn_url']; 
                 
            $pic_id_ar[]=$bild_daten['pic_id'];      
            }
            if(
            $m_id==$my_u_id$zusatz="[löschen]";
                for( 
            $i 0;$i $zeilen; ++$i 
                {
                    echo 
            "<tr align=center bgcolor=#eeeeee>";
                    
                    for( 
            $ii 0;$ii $spalten; ++$ii 
                        {
                        echo 
            "<td>
                                 <a href=\"cse_user_pics.php?m_id=
            $m_id&bild_id=$pic_id_ar[$ii]\">
            <img src=\"
            $thumbnail_ar[$ii]\" border=\"0\"></a> <br>    
                             </td>"
            ;
                            
                        }
                        echo 
            "</tr>";
                        
                
                }

            echo
            "</table></td></tr></table>";

            ?>
            Nun hab ich noch Fehler. Wenn ich 4 Bilder habe habe ich eine Zeile mit 4 Spalten:
            --------------------------------
            bild1 | bild2 | bild3 | bild4
            --------------------------------
            Wenn ich aber z.B. 5 Datensätze habe, kommt bei mir die Ausgabe:
            --------------------------------
            bild1 | bild2 | bild3 | bild4
            --------------------------------
            bild1 | bild2 | bild3 | bild4
            --------------------------------

            Ich weiss, dass ich irgendwas falsches mit den Arrays der Datenban eingestellt habe, weiß aber nicht die richtige Lösung
            Wäre nett, wenn jemand helfen könnte. Und das ist klar, wenn eine neue Zeile beginnt dass 1 2 3 4 sich wiederholt. Aber wie soll ich das mit den Arrays von der DB ausgabenmäßig realisieren?
            Zuletzt geändert von archie; 08.10.2005, 20:29.

            Kommentar


            • #7
              mal ne frage am rande ..... warum nimmst du kein <div> fester breite und gibt die bilder nur nacheinander aus. die umbrüche macht der browser dann von ganz alleine!

              und brich bitte deinen code gemäß den regeln um!
              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


              • #8
                Weil ich die Ausgabe schöner machen will, mit einer bestimmten Breite der Spalte etc und dazu kommen noch andere Elemente unter das Bild.

                Kommentar


                • #9
                  und was hindert dich nun an den div's ? man kann auch schöne span's/div's darin aufbauen, sodass du auch das von dir gewünschte optisch umsetzen kannst.
                  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


                  • #10
                    Original geschrieben von Abraxax
                    und was hindert dich nun an den div's ? man kann auch schöne span's/div's darin aufbauen, sodass du auch das von dir gewünschte optisch umsetzen kannst.
                    Bei einem Trabant sieht man auch nciht sofort von Außen, dass der nicht aus Metal ist Und ich hab halt meine Gründe span`s nicht zu mögen.
                    Nun habe ich das mit der Galerie hinbekommen und möchte die funktionierende Lösung hier posten, evtl wäre es was für den "Code-Schnipsel" Bereich. Es werden soviele Bilder Angezeigt, wie die Datensätze vorhanden sind.

                    Man kann die Anzahl der Spalten per Variable festlegen, den Rest erledigt das Script.

                    PHP-Code:
                    <?php
                    $pic_check 
                    mysql_query("SELECT COUNT(*) as zahl FROM cse_user_pics WHERE user_id='$m_id'");
                    $pic_c mysql_fetch_array($pic_check);
                    $pics_zahl=$pic_c[zahl];
                    $spalten=5;
                    $zeilen = ( $pics_zahl $spalten )?( ( $pics_zahl -
                     ( 
                    $pics_zahl $spalten ) ) / $spalten ):$pics_zahl $spalten

                    $gal_sel mysql_query("SELECT * FROM cse_user_pics WHERE user_id='$m_id' ORDER BY pic_id ASC");

                    echo
                    " <table width=\"100%\" border=\"0\" cellspacing=\"2\" cellpadding=\"0\"><tr><td>
                    <table width=\"100%\" border=\"0\" cellspacing=\"2\" cellpadding=\"0\">"
                    ;

                    $pic_id_ar= array();
                    $thumbnail_ar= array();
                    while(
                    $bild_daten=mysql_fetch_assoc($gal_sel))
                    {

                         
                    $thumbnail_ar[] = $bild_daten['pic_tn_url']; 
                         
                    $pic_id_ar[]=$bild_daten['pic_id'];      
                    }
                    $nArraySize count($thumbnail_ar);
                    $a=0;
                    $i=0;
                    if(
                    $m_id==$my_u_id$zusatz="[löschen]";
                        
                        while(
                    $i $zeilen
                        {
                            echo 
                    "<tr align=center bgcolor=#eeeeee valign=\"top\">";
                            for(
                    $ii 0;$ii $spalten$ii++) 
                                        {    
                                                if(
                    $a $nArraySize)
                                                    {
                                                    echo 
                    "<td>
                                        
                                                     <a href=\"cse_user_pics.php?m_id=
                    $m_id&bild_id=$pic_id_ar[$a]\">
                                                     <img src=\"
                    $thumbnail_ar[$a]\" border=\"0\"></a> <br>    
                                                    
                                                    </td>"
                    ;
                                                    }
                                                
                    $a++;                            
                                        }
                                echo 
                    "</tr>";
                                
                    $i++;    
                        }
                    echo
                    "</table></td></tr></table>";
                    ?>
                    Tabelle:
                    CREATE TABLE `cse_user_pics` (
                    `pic_id` int(11) NOT NULL auto_increment,
                    `user_id` varchar(11) NOT NULL default '',
                    `pic_url` varchar(100) NOT NULL default '',
                    `pic_tn_url` varchar(200) NOT NULL default '',
                    `pic_text` text NOT NULL,
                    PRIMARY KEY (`pic_id`)
                    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=59 ;


                    Viel Spaß.
                    Zuletzt geändert von archie; 09.10.2005, 11:48.

                    Kommentar


                    • #11
                      Original geschrieben von archie
                      Und ich hab halt meine Gründe span`s nicht zu mögen.
                      OffTopic:
                      Nee, is' klar.

                      Und außerdem vielleicht noch eine Abneigung gegen Topflappen, sowie Angst vor Telefonen ...?
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar

                      Lädt...
                      X