2014-05-12 209 views
0

我使用笨繪製的的div我的數據庫導致成兩列填充數據庫結果爲兩列

的div的什麼,我想實現這個最終的結果,在DB->結果最終可能甚至或奇數行。無論如何,它應該正確顯示結果。

<!-- Features --> 
    <div class="row"> 
    <div class="feature col-sm-12 col-md-6 clearfix"> 
     <h3>Heading 1</h3> 
     <p class="small">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p> 
    </div> 
    <div class="feature col-sm-12 col-md-6 col-md-offset-0 clearfix"> 
     <h3>Heading 2</h3> 
     <p class="small">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat..</p> 
    </div> 
    </div><!-- END --> 

    <!-- Features --> 
    <div class="row"> 
    <div class="feature last col-sm-12 col-md-6 clearfix"> 
     <h3>Heading 3</h3> 
     <p class="small">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat..</p> 
    </div> 
    <div class="feature last col-sm-12 col-md-6 col-md-offset-0 clearfix"> 
     <h3>Heading 4</h3> 
     <p class="small">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat..</p> 
    </div> 
    </div><!-- END --> 

這是我迄今爲止所做的,但結果並不完全如我所期望的那樣。

<?php 
    $row = array(); 
    $count = count($services); 
    for($x=0; $x<=$count; $x++){ 
     for($i=0; $i<$count; $i+=2){ 
     echo '<div class="feature col-sm-12 col-md-6 clearfix">'; 
     echo '<h3>'.$service[$i]->name.'</h3>'; 
     echo htmlspecialchars_decode($service[$i]->description); 
     echo '</div>'; 
     } 

     for($i=1; $i<$count; $i+=2){ 
     echo '<div class="feature col-sm-12 col-md-6 col-md-offset-0 clearfix">'; 
     echo '<h3>'.$service[$i]->name.'</h3>'; 
     echo htmlspecialchars_decode($service[$i]->description); 
     echo '</div>'; 
     } 
    } 
    ?><!-- END --> 

任何人都可以向我建議正確的方向嗎?

+0

您是否需要在第一個「for」內部回顯「行」類? –

+0

@Jeremy將你的'$ db-> result'分塊,然後用'foreach'循環它們,也許你可以在問題 – user1978142

回答

2

如何:

//Setup some variables 
$format = <<<EOF 
    <div class="%s"> 
     <h3>%s</h3> 
     <p class="small">%s</p> 
    </div> 
EOF; 
$left_class = 'feature col-sm-12 col-md-6 clearfix'; 
$right_class = 'feature col-sm-12 col-md-6 col-md-offset-0 clearfix'; 
$out = ''; 
$i=0; 

//Loop through the results 
foreach ($services as $service) { 
    $class = $right_class; 
    if ($i%2 == 0) { 
     $out .= "<!-- Features -->\n".'<div class="row">'."\n"; 
     $class = $left_class; 
    } 
    $out .= sprintf ($format, 
        $class, 
        $service->name, 
        htmlspecialchars_decode($service[$i]->description) 
        ); 
    if ($i%%2 != 0) $out .= "</div><!-- END -->\n\n"; 
    $i++; 
} 

//Write the output 
echo $out; 

這裏假設你的數據庫的查詢結果是$services(您使用上述兩種$service$services),它是迭代與foreach

+0

中添加'var_dump($ db-> result())'嗨,謝謝你的建議。讓我先嚐試一下,並讓結果告訴你。 – Jeremy