Bilder in CSS, das aus der DB in einer Schleife gelesen werden muß

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

  • Bilder in CSS, das aus der DB in einer Schleife gelesen werden muß

    Hi!

    Ich habe schon in 2 anderen Foren mein Problem versucht zu schildern, aber bisher hat mir noch keiner helfen können, daher hoffe ich, das ihr mir vielleicht helfen könnt!


    Ich habe eine Galerie, die Vorschaubilder werden per CSS ausgelesen, die Hauptbilder dann später normal :

    Code:
    <A class='gallery slidea' href='#nogo'>
    <EM><IMG title='$kategorie' alt='$kategorie' src='images/galerie/$bild'></EM>
    <SPAN>$katzenname / $geschlecht / $sonstiges <BR> $vorname $name / $mail / $url </SPAN></A>
    Dies habe ich in eine Schleife gesetzt, und es werden mir die Bilder in der Galerie in der richtigen reihenfolge angezeigt!

    Mein Problem ist, das ich in dem CSS-Teil nun die vorschaubilder stehen habe, bzw die angabe:

    PHP-Code:
    A.slidea { BACKGROUND: url(images/galerie/<? echo "$bildklein" ?>) }
    Wenn ich das jetzt auch in eine schleife setze, erzeugt die Scheife ja dann zum Beispiel 10 mal die angabe "A.slidea" mit den Vorschaubildern von 1-10, wenn ich dann in der Galerie nach class='gallery slidea' frage, setzt er immer das erste Vorschaubild rein, aber nicht nacheinander die Vprschaubilder 1-10. Also hat dann jedes der Bilder immer das gleiche Vorschaubild!

    Wie bekomme ich das jetzt hin, das er jedem Bild das entsprechende Vorschaubild gibt?

    Ich habe auch schon den Tipp bekommen, das Vorschaubild nicht per CSS zu machen, aber das geht nicht, dann funktioniert die Gallerie nicht mehr!

    Ich setze gleich als "Antwort" mal das komplette Dokument rein, es paßt hier nicht mehr rein, weil es wegen dem ganzen css-kram sehr lang ist!!

    Es wäre wirklich nett, wenn mir irgendjemand helfen könnte! Wenn ja, dann etwas verdeutlicht schreiben, denn ich bin php anfänger!
    Zuletzt geändert von Catdreams; 25.01.2007, 18:11.

  • #2
    PHP-Code:
    <head>
    <STYLE type=text/css>
    A.slidea { BACKGROUND: url(images/galerie/<? echo "$bildklein" ?>) }
    </STYLE>
    </head>
    <?

     $kategorie=mysql_real_escape_string($_GET['kategorie']); 
     $res=$db_handler->sql_query("SELECT * FROM galerie WHERE kategorie='$kategorie' order by id"); 
     $num=mysql_affected_rows();
     ?>
        <table border="0" cellspacing="0" cellpadding="0" class="tabelle">
        <tr> 
        <td class="tabelle1"></td>
        </tr>
        <tr> 
        <td class="tabelle2"> Katzengalerie --&gt; <? echo "$kategorie" ?></td>
        </tr>
        <tr> 
        <td valign="top" class="tabelle3">
            <center>
            <DIV id=container_top> 
            <DIV id=thumbs>
        <? 
        for ($a=0;$a<$num;$a++)
        {
        $id=mysql_result($res,$a,"id");
        $bild=mysql_result($res,$a,"bild");
        $bildklein=mysql_result($res,$a,"bildklein");
        $kategorie=mysql_result($res,$a,"kategorie");
        $name=mysql_result($res,$a,"name");
        $vorname=mysql_result($res,$a,"vorname");
        $mail=mysql_result($res,$a,"mail");
        $url=mysql_result($res,$a,"url");
        $katzenname=mysql_result($res,$a,"katzenname");
        $geschlecht=mysql_result($res,$a,"geschlecht");
        $farbe=mysql_result($res,$a,"farbe");
        $sonstiges=mysql_result($res,$a,"sonstiges");
            {
             echo"
             <A class='gallery slidea' href='#nogo'>
             <EM><IMG title='$kategorie' alt='$kategorie' src='images/galerie/$bild'></EM> 
             <SPAN>$katzenname / $geschlecht / $sonstiges <BR>
         $vorname $name / $mail / $url</SPAN></A>";
            }
        }

    ?>
            </DIV>
                <DIV id=text> 
                <H1 id=subject>Galerie<BR><EM>of</EM><BR>Cats</H1>
                </DIV>
            </DIV>
         </center>
         </td>
         </tr>
         <tr> 
         <td colspan="3" class="tabelle4"></td>
         </tr>
         </table>
    Zuletzt geändert von Catdreams; 19.01.2007, 20:01.

    Kommentar


    • #3
      1. bitte mal ganz schnell den code umbrechen!!!
      2. nur den relevanten teil posten
      3. wenn du das dynamisch machst, musst du auch die css-anweisungen dynamisch erzeugen.

      peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #4
        Ich habe mal den css-kram rausgemacht! ist so um einiges kleiner!

        Ich hatte den css-teil anfangs dynamisch gehabt, damit haben ja die Probleme angefangen und ich habe alles, bis auf das "echo" wieder herrausgenommen, weil es absulut nicht funktioniert hat und ich nicht weiß, wie ich es machen kann!

        Kommentar


        • #5
          die Vorschaubilder werden per CSS ausgelesen
          1. du kannst keine bilder per css auslesen.
          2. ich denke in diesem fall kannst du die css-anweisung auch direkt per style in das <a>-tag setzen.

          gruß
          peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            mit dem "echo" geht das schon, das habe ich jetzt einfach beispielsweise drin stehen lassen. ich hatte anfangs den teil in einer schleife eingebaut und in der css waren dann auch die bilder alle enthalten
            Code:
            A.slidea { BACKGROUND: url(images/galerie/bild1jpg) }
            A.slidea { BACKGROUND: url(images/galerie/bild2jpg) }
            A.slidea { BACKGROUND: url(images/galerie/bild3jpg) }
            A.slidea { BACKGROUND: url(images/galerie/bild4jpg) }
            A.slidea { BACKGROUND: url(images/galerie/bild5jpg) }
            A.slidea { BACKGROUND: url(images/galerie/bild6jpg) }
            A.slidea { BACKGROUND: url(images/galerie/bild7jpg) }
            A.slidea { BACKGROUND: url(images/galerie/bild8jpg) }
            A.slidea { BACKGROUND: url(images/galerie/bild9jpg) }
            A.slidea { BACKGROUND: url(images/galerie/bild10jpg) }
            Wennich dann in der Galerie nach class='gallery slidea' gefragt habe. setzte er bei allen Bildern logischerweise das erste hinein, also bild1jpg, anstatt nach der Reihe! Ich möchte aber erwirken, das zu jedem Bild auch das richtige Vorschaubild angezeigt wird ( von Bild1 - Bid10 ).

            Ganz normal per style geht es auch nicht, denn ich sollte nur noch den relevanten code stehen lassen udn daher habe ich alles jetzt rausgenommen, was nicht genau mit meinem Problem zu tun hat! Ansonsten hätte man gesehen, das es viele Angaben zu sem Bild gibt ( Größen, Positionen usw, die sich je nach Bild verändern!
            Außerdem habe ich das auch schonmal versucht, und da ging die Galerie auch nicht mehr!

            Gibt es nicht irgendwie einen Trick, das im CSS-Teil nicht nur die Bilder am ende nummeriert ( wie in meinem Beispiel ) ausgelesen werden, wenn ich die Schleife wieder einbaue, sondern auch das "A.slidea" sich immer um eines höher bewegt, also A.slidea, A.slideb, A.slidec ... und ich das dann später in der galerie irgendwie auch so einbauen kann, das er bei jedem neuen Bild am ende das a-b-s-d-.... immer verändert! So würde dann das mit den Bildern klappen! Theoretisch ist es für mich denkbar, aber kann man das umsetzen und wenn ja, WIE?

            Kommentar


            • #7
              PHP-Code:
              for ($i 0; $ < $irgendwas$i++)
              {
                 echo 
              'a.slide'.$i.'{...}';
              }
              ...
              for (
              $i 0; $ < $irgendwas$i++)
              {
                 echo 
              '<a class="slide'.$i.'"...';

              peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar


              • #8
                ok, das habe ich verstanden, und wie rufe ich das dann in der class="" ab?

                Kommentar


                • #9
                  sorry... übersehen ! Ich teste das mal! danke!

                  Kommentar


                  • #10
                    Super! Jetzt geht es! DANKE

                    Kommentar

                    Lädt...
                    X