2017-01-20 52 views
2
function givemetitles($table){ 
    global $db; 
    $titles = ''; 
    $stmt = $db->query("SELECT id, title FROM " . $table . " ORDER BY title ASC"); 
    while($row = $stmt->fetch()){ 
     $titles.= 
        "<div data-id=" . $row['id'] . 
        " class='linkl'>" . $row['title'] . "</div>\n"; 
    } 
    echo $titles; 
} 

これはlinklクラスのdivを正常に書き込みます。動的に作成されたdivに追加のクラスを設定します

可能であれば、クラスlinklactiveも含めて最初のdivが必要です。

答えて

6

別のアプローチは、クラスを設定し、それをクリアすることです:

function givemetitles($table){ 
    global $db; 
    $titles = ''; 
    // set $first_class to the class you want for the first record 
    $first_class = ' linklactive'; 
    $stmt = $db->query("SELECT id, title FROM " . $table . " ORDER BY title ASC"); 
    while($row = $stmt->fetch()) { 
     // include $first_class in the $title value 
     // tweaked to use string interpolation 
     // Switched to PHP_EOL instead of \n 
     $titles.= "<div data-id='{$row['id']}' class='linkl{$first_class}'>{$row['title']}</div>" . PHP_EOL; 
     // reset $first_class to be empty string 
     $first_class = ''; 
    } 

    echo $titles;  
} 
4

あなたはちょうどあなたがループした回数カウントすることができ、最初の実行では、あなたがそのクラスを追加...

function givemetitles($table,$row_active = 0){ 

    global $db; 
    $titles = ''; 
    $stmt = $db->query("SELECT id, title FROM " . $table . " ORDER BY title ASC"); 
    $count = 0; 
    while($row = $stmt->fetch()){ 
     if($count == $row_active){ 
      $titles.="<div data-id=" . $row['id'] . " class='linkl linklactive'>" . $row['title'] . "</div>\n"; 
     }else{ 
      $titles.="<div data-id=" . $row['id'] . " class='linkl'>" . $row['title'] . "</div>\n"; 
     } 
     $count++; 
    } 
    echo $titles; 

} 

プリティ?実際はそうではありませんが、それは仕事です。

これは、この場合、cale_b answerはポイントが多く、は "きれい"です。私はあなたがクラスを取得する行を定義できるので、この答えを保持しています。

+1

将来の訪問者はこの質問と答えを見つけたときも、私はこの答えを非削除にあなたを奨励した理由は、それは非常に便利ですされているため、さまざまなアプローチでさまざまな答えを得ること。私は1つのために、さまざまな問題へのアプローチの多様性を見るだけで、TONSを学んだのです! –

+0

ありがとう、非常に創造的です。 – bonaca

関連する問題