tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
329
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    fredolin fredolin ist offline Mitglied Gold
    Registriert seit
    Mar 2007
    Beiträge
    151
    Hallo Leute,

    ich hab wieder mal ein kleineres Problem. Ich möchte eine Bannerseite so aufbauen, das ich über eine foreachschleife und count die Banner so anordne, das links und recht neben einander die Banner stehen.

    Im alten Script habe ich es das so gelöst
    PHP-Code:
    $banner[] = array(
                    
    'headline'    =>    'Banner Eins',
                    
    'imgpfad'    =>    '<img src="irgendeineURL/banner_01.gif" alt="Dein Banner" width="468" height="60" border="0" />',
                    
    'url'        =>    'http://www.meineURLvomBanner.de',
        );

    $banner[] = array(
                    
    'headline'    =>    'Banner Eins',
                    
    'imgpfad'    =>    '<img src="irgendeineURL/banner_01.gif" alt="Dein Banner" width="468" height="60" border="0" />',
                    
    'url'        =>    'http://www.meineURLvomBanner.de',
        );

    $banner[] = array(
                    
    'headline'    =>    'Banner Eins',
                    
    'imgpfad'    =>    '<img src="irgendeineURL/banner_01.gif" alt="Dein Banner" width="468" height="60" border="0" />',
                    
    'url'        =>    'http://www.meineURLvomBanner.de',
        );

    $banner[] = array(
                    
    'headline'    =>    'Banner Eins',
                    
    'imgpfad'    =>    '<img src="irgendeineURL/banner_01.gif" alt="Dein Banner" width="468" height="60" border="0" />',
                    
    'url'        =>    'http://www.meineURLvomBanner.de',
        );

    foreach(
    $banner as $nr=> $inhalt) {
            
    $headline[$nr]    =    $inhalt['headline'];
            
    $imgpfad[$nr]    =    $inhalt['imgpfad'];
            
    $url[$nr]        =    $inhalt['url'];
            
            switch (
    $inhalt['headline']) {
                   case(
    'Banner Eins'):
                echo
    '
                    [B]<div class="left_links">[/B]
                        <div class="link_headline"><h2  class="h2text">'
    .$inhalt['headline'].'</h2></div>
                        <div class="link_banner_code">
                            <!--Werbebanner start //-->
                                <a href="'
    .$inhalt['url'].'" target="_blank">'.$inhalt['imgpfad'].'</a>
                            <!-- Werbebanner end //-->
                        </div>
                    </div>'
    ;
                break;


                      case(
    'Banner Zwei'):
                echo
    '
                    [B]<div class="right_links">[/B]
                        <div class="link_headline"><h2  class="h2text">'
    .$inhalt['headline'].'</h2></div>
                        <div class="link_banner_code">
                            <!--Werbebanner start //-->
                                <a href="'
    .$inhalt['url'].'" target="_blank">'.$inhalt['imgpfad'].'</a>
                            <!-- Werbebanner end //-->
                        </div>
                    </div>'
    ;
                break;

                  [
    B]usw...[/B]

                    }


    So nun würde ich gerne mit Hilfe über count es so realisieren, dass die beiden Div-Container
    HTML-Code:
    <div class="left_links"></div>
    und
    <div class="right_links"></div>
    abwechseln in einer Schleife eingesetzte werden.

    Meine Anfänge sehen so aus

    PHP-Code:
    $left 'cols50';
        
    $right 'cols50';
            for(
    $i=0$i<count($banner);$i++){
                
    $rows = ($count 2) ? $left $right;
                echo 
    '<div class="'.$left.'">';
                    foreach(
    $banner[$i] AS $value){
                        echo
    '
                            <div class="link_headline"><h2 class="h2text">'
    .$value['headline'].'</h2></div>
                        <div class="link_banner_code">
                        <!--Werbebanner start //-->
                            <a href="'
    .$value['url'].'" target="_blank">'.$value['imgpfad'].'</a>
                        <!-- Werbebanner end //-->
                        '
    ;
                        echo 
    '</div>';
                    }
                
    $count++;
                echo 
    '</div>';
            } 
    Aber hier bekomme ich nur die ersten Buchstaben des jeweiligen Array angezeigt. Was mache ich falsch..

    Kann mir einer helfen..

    Das ist die Seite, die ich meine und die neu gemacht werden soll
    http://www.schmerz-haft.de/?act=links

    Danke an Euch

    Gruß
    Fredolin
    Geändert von fredolin (22.01.11 um 10:23 Uhr)
     

  2. #2
    spikaner spikaner ist offline Quereinsteiger @ php
    Registriert seit
    Feb 2007
    Ort
    München
    Beiträge
    439
    Ich würde es mal so in der Art probieren
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    div#right {
    float:right;
    width:xxx%;
    }
    div#left {
    margin-right: xxx%;
    }
    PHP-Code:
            for($i=0$i<count($banner);$i++){
                if(
    $i %2){
                echo 
    '<div class="left">';
                }
                else
                {
                echo 
    '<div class="right">';
                }
         .
         .
         .
            } 
    ausser ich habe dich komplett falsch verstanden

    mfg
     

  3. #3
    fredolin fredolin ist offline Mitglied Gold
    Registriert seit
    Mar 2007
    Beiträge
    151
    Hallo Spikaner,

    erstmal Danke für deineschnelle Antwort

    Doch mein Sript ist schon so aufgebaut, wie du es da schreibst
    PHP-Code:
    $left 'col_468';
        
    $right 'col_468';
        
    $count 0;    
                for(
    $i=0$i<=count($banner);$i++){
                    
    $rows = ($count[$i] % 2) ? $left $right;
                    echo 
    '<div class="'.$rows.'" id="'.$i.'">';
                        foreach(
    $banner AS $value){
                        echo
    '
                        <div class="link_headline"><h2 class="h2text">'
    .$value['headline'].'</h2></div>
                            <div class="link_banner_code">
                            <!--Werbebanner start //-->
                                <a href="'
    .$value['url'].'" target="_blank">'.$value['imgpfad'].'</a>
                            <!-- Werbebanner end //-->
                            '
    ;
                        echo 
    '</div>';
                        }
            echo 
    '</div>';
            
    $count++;
                
            } 
    Aber nun durchläuft das Script 15mal und läd alle Banner 15mal. (15mal = 15 Banner sind enthalten)
    So das will ich nicht. Es soll nur einmal jeder 15 Bänner angezeigt werden. Und immer in einer Zeile 2 Stück.

    So dafür benötige ich Hilfe.
     

  4. #4
    spikaner spikaner ist offline Quereinsteiger @ php
    Registriert seit
    Feb 2007
    Ort
    München
    Beiträge
    439
    du machst es einmal mit der for und nochmal mit der foreach

    PHP-Code:
                for($i=0$i<=count($banner);$i++){  // läuft jetzt 15 mal durch
                    
    $rows = ($count[$i] % 2) ? $left $right;
                    echo 
    '<div class="'.$rows.'" id="'.$i.'">';
                        foreach(
    $banner AS $value){  // läuft auch 15 mal durch
                        
    echo
    pack echo '<div class="'.$rows.'" id="'.$i.'">'; mit in die foreach

    PHP-Code:
    $i 0;
    foreach(
    $banner AS $value){
                    
    $rows = ($count[$i] % 2) ? $left $right;
                    echo 
    '<div class="'.$rows.'" id="'.$i.'">';
                        echo
    '
                        <div class="link_headline"><h2 class="h2text">'
    .$value['headline'].'</h2></div>
                            <div class="link_banner_code">
                            <!--Werbebanner start //-->
                                <a href="'
    .$value['url'].'" target="_blank">'.$value['imgpfad'].'</a>
                            <!-- Werbebanner end //-->
                            '
    ;
                        echo 
    '</div>';
                        }
            echo 
    '</div>';
    $i ++;

    mfg
     

  5. #5
    fredolin fredolin ist offline Mitglied Gold
    Registriert seit
    Mar 2007
    Beiträge
    151
    Hallo Spikaner

    danke dir.. Du hast mir den Wald vor lauter Bäumen gezeigt. War kalr, das mit einer doppel Schleife das nicht gut gehen wird.. Aber ich hab es nicht gesehen

    Danke Dir
     

Ähnliche Themen

  1. Divs anpassen
    Von Duky im Forum CSS
    Antworten: 1
    Letzter Beitrag: 22.05.09, 20:06
  2. Divs dynamisch an Bildschirmgröße
    Von Duellking im Forum CSS
    Antworten: 1
    Letzter Beitrag: 22.12.08, 23:55
  3. Antworten: 12
    Letzter Beitrag: 07.11.08, 16:50
  4. 2 Divs in der Höhe anpassen
    Von schutzgeist im Forum CSS
    Antworten: 1
    Letzter Beitrag: 24.06.05, 16:59
  5. Divs dynamisch erzeugen.
    Von messmar im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 24.04.05, 01:41

Stichworte