簡體   English   中英

PHP備用行顏色幫助

[英]PHP Alternate Row Color Help

我創建了一個函數,該函數將顯示CMS系統的頁面列表。

function build_pages(&$table, $pid, $sub=0) {
    global $db;

    if ($sub == 1) {
        $class = "section-sub";
    } else {
        $class = "section-name";
    }

    $i = 0;
    $query = $db->simple_select("pages", "title,section,name,id", "pid='" . $pid . "'");
    while ($pages = $db->fetch_array($query)) {
        if ($i % 2 == 0) {
            $alt_row = "row1_alt"; // dark
            $i++;
        } else {
            $alt_row = "row2_alt"; // light
            $i++;
        }
        $table->construct_cell("<div class=\"" . $class . "\">" . $pages['title'] . "</div>", array("divstyle" => $alt_row));
        $table->construct_cell("", array("divstyle" => $alt_row));
        $table->construct_cell("", array("divstyle" => $alt_row));
        $table->construct_cell("", array("divstyle" => $alt_row));
        $table->construct_row();
        build_pages(&$table, $pages['id'], 1);
    }
}

但是,這就是備用行着色的作用(請注意,行着色並非完全交替): http : //i53.tinypic.com/2afj3mb.png

也許有人可以幫助我找到一個缺陷。

謝謝。

這是因為您正在使用遞歸函數。 然后,循環的第一次迭代再次進入build_pages(),這將啟動一個新的循環,依此類推。 也許您可以將$ alt_row設為靜態變量,並在每次發生時簡單地對其進行切換。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM