2010-08-17 6 views
0

Я пытаюсь отобразить ссылку оранжевым при нажатии, но по какой-то причине я могу заставить ее работать при использовании PHP. Может кто-нибудь помочь мне исправить эту проблему?Проблема с ссылкой на PHP

Вот код PHP.

function category_tree($parent = 0, $parent_url = ''){ 
    $page_url = current_page_url();//grabs url address 

    echo "<ol>"; 
    $mysqli = mysqli_connect("localhost", "root", "", "sitename"); 
    $q = sprintf("SELECT id, category, url FROM categories WHERE parent_id = %d ORDER BY category asc", $parent); 
    $r = mysqli_query($mysqli, $q); 
    while($rs = mysqli_fetch_assoc($r)){ 
     $url = $parent_url . $rs['url']; 
     echo '<li> <a href="' . $url . '" title="' . $rs['category'] . ' Category Link" '; 

     if($url == $page_url){ 
      echo 'style="color: orange;"'; 
     } 

     echo '>' . $rs['category'] . '</a> </li>'; 
     category_tree($rs['id'], $url); 
    } 
    mysqli_free_result($r); 
    echo "</ol>"; 
} 

Выход:

Arts & Humanities 
Autos 
Business 
Computers & Technology 
Creative Writing 
Education 
Entertainment 

ответ

2

После прочтения кода, я хотел бы попробовать напечатать значения $ URL и $ PAGE_URL и посмотреть, если они когда-нибудь то же самое. Также посмотрите на свой результат и посмотрите, если style = "color: orange;" всегда выводится в браузер. Если ссылка не становится оранжевой, я бы предположил, что ваше условие «($ url == $ page_url)» никогда не возвращается.

Пожилым ответ

Это не совсем проблема, PHP, это больше, чтобы сделать с помощью CSS. Если у вас есть файл CSS можно добавить следующее, чтобы заставить его работать правильно:

a:link{ 
    color:black; 
} 
a:visited{ 
    color:orange; 
} 

Если вам нужно, чтобы создать место, чтобы положить ваш CSS вы можете добавить следующий код в HTML:

<style type="text/css"> 
/* CSS CODE HERE */ 
</style> 
+0

Это те же значения $ url и $ page_url. – HiThere

+0

@ Sam152 Это не сработало :( – HiThere

+0

Можете ли вы опубликовать вывод в браузере? – Sam152

Смежные вопросы