2016-11-09 4 views
1

だから私はこのコード別々の列にPHPのニュースのリストを作成し

$news_per_page = 30; 
$news_per_columns = $news_per_page/3; 
$lower_bound = ($current_page * $news_per_page) - $news_per_page + 1; 
$upper_bound = $current_page * $news_per_page; 

echo '<div class="large-4 columns">'; 
echo list_news ($id_category, 
       $lower_bound, 
       $upper_bound, 
       NULL, 
       (IsSet($_GET['title_subtitle']) && $_GET['title_subtitle'] != "" ? $_GET['title_subtitle'] : NULL), 
       (IsSet($_GET['category']) && $_GET['category'] != 0 ? $_GET['category'] : NULL), 
       (IsSet($_GET['datefrom_m']) && $_GET['datefrom_m'] != '' && IsSet($_GET['datefrom_d']) && $_GET['datefrom_d'] != '' && IsSet($_GET['datefrom_y']) && $_GET['datefrom_y'] != '' ? strtoupper($_GET['datefrom_m']).' '.$_GET['datefrom_d'].' '.$_GET['datefrom_y'] : NULL), 
       (IsSet($_GET['dateto_m']) && $_GET['dateto_m'] != '' && IsSet($_GET['dateto_d']) && $_GET['dateto_d'] != '' && IsSet($_GET['dateto_y']) && $_GET['dateto_y'] != '' ? strtoupper($_GET['dateto_m']).' '.$_GET['dateto_d'].' '.$_GET['dateto_y'] : NULL)); 

    echo '</div>'; 

私の疑問を持っているが3列のリストのニュース機能が表示されるように、私が作ることができる方法です。現時点では、このコードは、large-4columnのニュースを30件ずつ表示しています。

+0

簡単な解決策を提供するための情報が不十分です。 「大4列」はどのcssフレームワークの一部ですか?このような、あらかじめ定義された他のクラスがありますか? 「大4列」クラスの定義は何ですか?最後に「大3列」を試してみましたか? :P –

+0

大4列は基礎6フレームワークの一部です。また、$ lower_boundは魔法のニュースIDから開始し、$ upperboundは表示を停止します。 –

答えて

1

Foundationのグリッドレイアウトは次のようである:

<div class="row"> 
    <div class="large-4 columns"></div> 
    <div class="large-4 columns"></div> 
    <div class="large-4 columns"></div> 
</div> 

コードあなたが供給されているのみを示して単一の列と行ありません。 3つの列が必要な場合は、3つの列をすべて移入し、その周りに行コンテナを配置する必要があります。

<div class="row"> 
    <div class="large-4 columns">News Item 1</div> 
    <div class="large-4 columns">News Item 2</div> 
    <div class="large-4 columns">News Item 3</div> 
</div> 

あなたはこのような何かを行うことができません見て、あなたの全体のコード、

echo "<div class='row'><div class='large-4 columns'>"; 
for($i = 1; $i < 31; $i++) 
{ 
    print "news"; 
    if($i == 10 || $i == 20) 
    { 
    echo "</div><div class='large-4 columns'>"; 
    } 
} 
echo "</div>"; 

これは、単一の内側になりすべてが各欄に「ニュース」10回、配置する必要があります行。

+0

私は別のファイルの行divを持っていて、そのファイルは行内にこのコードをインポートしています。どのように私はそれを行うことができますどのようなアイデアを行くか、各列に30のニュース10を表示する関数のために行く? –

+0

@FarcasAlexandru私は自分の答えを更新しました。 – Blinkydamo

+0

それから、申し訳ありませんが、今何を求めているのか分かりません。 – Blinkydamo

0

これはグリッドレイアウトを見ることになっている方法である基礎6フレームワーク(https://foundation.zurb.com/sites/docs/grid.html) のドキュメントに記載されているように:

<div class="row"> 
    <div class="large-4 columns"><!-- ... --></div> 
    <div class="large-4 columns"><!-- ... --></div> 
    <div class="large-4 columns"><!-- ... --></div> 
</div> 

今、あなたのコードは、このようなものを出力します。

<div class="large-4 columns"> 
    <!-- NEWS --> 
    <!-- NEWS --> 
    <!-- NEWS --> 
</div> 

だから何あなたは、 '行'クラスを持つ要素にラップされた一連のニュースを印刷するためのループが必要です。

0

私はこれをしましたが、ページに30ポストに達すると停止しません。 私のすべての5000+のニュースを3列に表示し始めます

$news_per_page = 30; 
    $news_per_columns = $news_per_page/3; 

    $lower_bound = ($current_page * $news_per_page) - $news_per_page + 1; 
    $upper_bound = $current_page * $news_per_columns; 

    while($news_per_page <= 30){ 
    echo "<div class='large-4 columns'>"; 
    echo list_news ($id_category, 
        $lower_bound, 
        $upper_bound, 
        NULL, 
        (IsSet($_GET['title_subtitle']) && $_GET['title_subtitle'] != "" ? $_GET['title_subtitle'] : NULL), 
        (IsSet($_GET['category']) && $_GET['category'] != 0 ? $_GET['category'] : NULL), 
        (IsSet($_GET['datefrom_m']) && $_GET['datefrom_m'] != '' && IsSet($_GET['datefrom_d']) && $_GET['datefrom_d'] != '' && IsSet($_GET['datefrom_y']) && $_GET['datefrom_y'] != '' ? strtoupper($_GET['datefrom_m']).' '.$_GET['datefrom_d'].' '.$_GET['datefrom_y'] : NULL), 
        (IsSet($_GET['dateto_m']) && $_GET['dateto_m'] != '' && IsSet($_GET['dateto_d']) && $_GET['dateto_d'] != '' && IsSet($_GET['dateto_y']) && $_GET['dateto_y'] != '' ? strtoupper($_GET['dateto_m']).' '.$_GET['dateto_d'].' '.$_GET['dateto_y'] : NULL)); 
     echo "</div>"; 

     $lower_bound = $lower_bound + $news_per_columns - 1; 
     $upper_bound = $upper_bound + $news_per_columns; 
    }