ilch Forum » Ilch Clan 1.1 » Allgemein » Allianz - while Resultat in Zeilen

Geschlossen
  1. #1
    User Pic
    wiskyjim Mitglied
    Registriert seit
    29.03.2009
    Beiträge
    96
    Beitragswertungen
    0 Beitragspunkte
    Wie kann ich dass Resultat aus der while-Schleife in mehreren Zeilen ausgeben lassen?

    z.B. alle 5 Bilder eine neue Zeile beginnen.
    <?php 
    #   Copyright by Manuel
    #   Support www.ilch.de
    $tpl_alianz = <<< tpl
    <div align="center">
    {EXPLODE}
    </div>
    {EXPLODE}
    <a class="box" href="{link}" target="_blank">{title}</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    {EXPLODE}
    <img src="{banner}" alt="{name}" border="0">
    tpl;
    
    defined ('main') or die ( 'no direct access' );
    
      $allyAnzahl = $allgAr['Aanz'];
      if ( $allgAr['Aart'] == 1 ) {
          $sqlORDER = 'pos';
        } else {
          $sqlORDER = 'RAND()';
        }
        
        
        $allyNameAr = array();
        $allyLinkAr = array();
        $allyBanaAr = array();
      $allyAktAnz = 0;
    
        
      $allyAbf = 'SELECT * FROM `prefix_partners` ORDER BY '.$sqlORDER.' LIMIT  0,'.$allyAnzahl;
        $allyErg = db_query($allyAbf);
        if ( db_num_rows($allyErg) > 0) {
            $tpl = new tpl($tpl_alianz, 3);
            $tpl->out(0);
            while($allyRow = db_fetch_object($allyErg)) {
                $tpl->set("link", $allyRow->link);
                    if ( empty ($allyRow->banner) OR $allyRow->banner == 'http://' ) {
                        $tpl->set("title", $allyRow->name);
                    } else {            
                        $tpl->set("title", $tpl->set_ar_get(
                                                  array("banner" => $allyRow->banner,
                                                        "name"   => $allyRow->name
                                                       )
                                                 , 3 # {EXPLODE} Nr 3
                                                 )
                       );
                }
                $tpl->out(2);
          }
          $tpl->out(1);
      }
    
    ?>

    Wäre es möglich in der while-Schleife eine for-Schleife zu schreiben, welche alle 5 Einträge eine neue Zeile beginnt ?
    Ilch: 1.1 I
    Homepage:externer Link
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Tigereyes Hall Of Fame
    Registriert seit
    13.08.2008
    Beiträge
    140
    Beitragswertungen
    7 Beitragspunkte
    ein einfacher counter würde reichen
    also vor der while eine
    $x=0;
    in der while $x++;
    und am ende der while eine if mit der max. größe von $x
    if($x==5) {
    Zeilenende;
    $x=0;
    }
    Felidae forever
    mess with the best die like the rest
    1 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    wiskyjim Mitglied
    Registriert seit
    29.03.2009
    Beiträge
    96
    Beitragswertungen
    0 Beitragspunkte
    Ich steh auf'n Schlauch, hab grad voll den Denkknoten wegen dem "Zeilenende;" sry..
    Ich glaub ich denke zu kompliziert
    Ilch: 1.1 I
    Homepage:externer Link
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    wiskyjim Mitglied
    Registriert seit
    29.03.2009
    Beiträge
    96
    Beitragswertungen
    0 Beitragspunkte
    So nach einigem hin und her hab ichs dann doch noch geschafft.
    Ergebnis:
    <?php 
    #   Copyright by Manuel
    #   Support www.ilch.de
    $tpl_alianz = <<< tpl
    <div align="left">
    {EXPLODE}
    </div>
    {EXPLODE}
    <a class="box" href="{link}" target="_blank">{title}</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    {EXPLODE}
    <img src="{banner}" alt="{name}" border="0">
    tpl;
    
    defined ('main') or die ( 'no direct access' );
    
      $allyAnzahl = $allgAr['Aanz'];
      $ally_per_line = $allgAr['alliperline'];
      if ( $allgAr['Aart'] == 1 ) {
    	  $sqlORDER = 'pos';
    	} else {
    	  $sqlORDER = 'RAND()';
    	}
    	
    	
    	$allyNameAr = array();
    	$allyLinkAr = array();
    	$allyBanaAr = array();
      $allyAktAnz = 0;
    
    	
      $allyAbf = 'SELECT * FROM `prefix_partners` ORDER BY '.$sqlORDER.' LIMIT  0,'.$allyAnzahl;
    	$allyErg = db_query($allyAbf);
    	if ( db_num_rows($allyErg) > 0) {
    	  $tpl = new tpl($tpl_alianz, 3);
        $tpl->out(0);
    	$x = 0;
    		while($allyRow = db_fetch_object($allyErg)) {
    			$x++;
    		    $tpl->set("link", $allyRow->link);
    				if ( empty ($allyRow->banner) OR $allyRow->banner == 'http://' ) {			
    					$tpl->set("title", $allyRow->name);
    				} else {			
    					$tpl->set("title", $tpl->set_ar_get(
                                                  array("banner" => $allyRow->banner,
                                                        "name"   => $allyRow->name
                                                       )
                                                 , 3 # {EXPLODE} Nr 3
                                                 )
                       );
    		    }
    		    $tpl->out(2);
    			if ($x == 5) {
    				$tpl->out(0);
    				$x = 0;	
    			}	
    	  }	  
    	  $tpl->out(1);
      }
    
    ?>
    Aber wie hängt das $tpl mit den {EXPLODE} zusammen?
    Ich meine, woher weis ich ob $tpl 0,1,2 oder 3 sein muss?
    Ilch: 1.1 I
    Homepage:externer Link
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    //0
    {EXPLODE}
    //1
    {EXPLODE}
    //2
    ...
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    1 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    wiskyjim Mitglied
    Registriert seit
    29.03.2009
    Beiträge
    96
    Beitragswertungen
    0 Beitragspunkte
    Vielen Dank ihr habt mir sehr geholfen.
    Das Thema kann geschlossen werden ...
    Ilch: 1.1 I
    Homepage:externer Link
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Allgemein

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten