template und kleine bildgalerie

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

  • template und kleine bildgalerie

    hi...

    ich möchte in regelmässigen abständen fotos auf ne website setzen.
    ist dasauch mit nem template machbar? ich möchte ja aus der datenbank nur die spalte mit den bildern auslesen und dann immer 5 bilder nebeneinander.
    ich weiss nun nicht so richtig wie ich das mit dem ersetzen der platzhalter erledigen kann, da ich ja hier nur eine spalte auslese und die aber auf tabellenzellen verteilen möchte.

  • #2
    natürlich geht das. erwarte jetzt bitte nicht, dass wir raten, wie deine tpl-class aussieht, geschweigedenn, dass wir dir eine schreiben, wenn du keine hast
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Kommentar


    • #3
      ich habe doch weder das eine noch das andere gesagt.

      eine template klasse habe ich und dort funktioniert das ersetzen der einzelnen werte auch super, nur das da immer ein platzhalter für eine spalte aus der datenbank steht. nun brauchte ich aber verschiedene platzhalter für eine spalte aus der datenbank.

      ich will doch keine fertige lösung, aber vielleicht ne vorgehensweise wie man sowas lösen kann.

      ich habe hier im forum auch schon beiträge gefunden, wo nur die vorgehensweise erklärt wurde und keine einzige codezeile dazu. anhand dessen habe ich mir dann das script gebaut und so hatte ich das jetzt auch gemeint

      Kommentar


      • #4
        und wir raten jetzt, wie deine template class aussieht, um dir zu vermitteln, wie du einen neuen platzhalter einbauen kannst? das halte ich für etwas ineffektiv
        h.a.n.d.
        Schmalle

        http://impressed.by
        http://blog.schmalenberger.it



        Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
        ... nur ohne :-)

        Kommentar


        • #5
          hier mal das beispiel

          hi....

          hier mal das beispiel. ich weiss nun nicht, wie ich nen zeilenumbruch hinbekomm (z.Bsp. nach 5 zellen)
          so wie es jetzt ist, bekomm ich alle zellen nebeneinander.

          PHP-Code:
          <?
          include("class_mysql.php");
          include("class_template.php");

          $db = new db;
          $tmpl = new template;
          $db -> select_db();
          // Template auslesen
          $maintpl = implode('',file('form_tpl.htm'));

          // auschneiden der zeilen, die den loop bilden (alles zw. <!-- BEGIN LOOP --> und <!-- END LOOP -->)
          preg_match("/<!-- BEGIN LOOP -->(.*?)<!-- END LOOP -->/s", $maintpl, $erg);

          // ersetzen der zeilen ab <!-- BEGIN LOOP --> bis <!-- END LOOP --> mit [:Navigation:]
          $nmaintpl = preg_replace("/<!-- BEGIN LOOP -->(.*?)<!-- END LOOP -->/s", "[:Foto:]", $maintpl);

          $sql = "SELECT payload AS name FROM node";
          $res = $db -> sql($sql);
          while($row = mysql_fetch_assoc($res)){
             $array[] = $tmpl -> loop_template($erg[1],$row,"[:",":]");
          }
          $foto = implode('',$array);

          $array = array("[:Foto:]" => $foto);

          echo $tmpl -> show_template($array, $nmaintpl);


          ?>
          das template:
          Code:
          <html>
          <head>
          <title>galerie</title>
          <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
          </head>
          
          <body>
          <table border="1">
          
          <tr>
          <!-- BEGIN LOOP -->
          <td>[:name:]</td>
          <!-- END LOOP -->
          </tr>
          
          </table>
          </body>
          </html>
          die template klasse:
          PHP-Code:
          <?
          class template{
               
               function loop_template($template, $data,$start,$end) {
                      
                  foreach ($data as $key =>$value) {
                  
                      $template = str_replace($start.$key.$end, $data[$key], $template);                    
                  }
                  
                  return $template;
              }

              function show_template($array, $maintpl){
                  
                  foreach($array as $key => $values){
                  
                     $maintpl = str_replace($key, $values, $maintpl);
                  
                  }
                  return $maintpl;
              }        
              
                  

          }    
          ?>

          Kommentar

          Lädt...
          X