2014-09-20 58 views
0

所以這是我試圖使它工作我的代碼的一部分:我已經定義了這些的CSS在PHP不工作

while ($row = mysql_fetch_array($satt)){ 
    echo "<li"; 

    if($row["satake"] == $fns) { 
     echo "class=\"selected\""; 
    } 
    echo "><a href=\"home.php?fn=".urlencode($row["satake"]). 
    "\">{$row["satake"]}</a></li>"; 

    } 

和上頁:

  <?php 
    if (isset($_GET['fn'])){ 
     $fns = $_GET['fn']; 
     $ys = ""; 
    } elseif (isset($_GET['yosef'])){ 
     $ys = $_GET['yosef']; 
     $fns = ""; 
    } else 
    { 
     $ys = ""; 
     $fns = ""; 
    } 
?> 

而且這是CSS:

.selected { font-weight: bold; } 

它不給我任何錯誤,它運行平穩,但不工作。

+0

你可能包括PHP代碼輸出HTML當您運行呢? – AlliterativeAlice 2014-09-20 20:29:39

+11

你需要'li'和'class'之間的空格 – Clive 2014-09-20 20:31:00

+0

ohhhhhh godddddddddddd 這是空間的東西 我在監視器上像白癡一樣轉向! rep +++ tnx – Greatone 2014-09-20 20:32:54

回答

1

雖然這是事實,你是缺少一個空間,你可能想在未來的這些步驟,以避免該confussion:

  1. PHP 模板引擎。像這樣使用它(將PHP演示文稿INSIDE html,而不是其他方式)。

  2. 使用瀏覽器檢查器(Chrome或Firefox)查看動態生成的解決方案。

所以,你的代碼變得更容易閱讀和當你發現錯誤:

while ($row = mysql_fetch_array($satt)){ 
    // Some light logic 
    $satake = $row["satake"]; 
    $liclass = $satake == $fns ? "selected" : ""; 
    $cleansatake = urlencode($satake); 

    // The presentation 
    ?> 
    <li class="<?= $liclass; ?>" > 
     <a href="home.php?fn=<?= $cleansatake; ?>" > 
     <?= $satake; ?> 
     </a> 
    </li> 
    <?php 
    } ?> 
+0

tnx,這很有幫助,重新分解總是有幫助的,但像我這樣的初學者往往會使其工作速度快,而不是做得對。 請原諒我問,但我不明白這一行: $ liclass = $ satake == $ fns? 「selected」:「」; 我知道發生了什麼,直到$ fns,但'?;除此之外,我迷失了方向。 – Greatone 2014-09-21 08:50:24

+0

這將是[三運營商](http://www.tuxradar.com/practicalphp/3/12/4)。 – 2014-09-21 11:02:58