2011-04-15 60 views
0

我有一个关于功能的问题。 $球员图像链接与功能在PHP

function print_name($player) 
{ 
    global $db_name, $user_options; 
    static $cache = array(); 

    if (!isset($cache[$player['login_name']])) {//this user not cached 
     $pQuery = mysql_query("select u.login_id, u.login_name, u.clan_id, u.clan_sym_color,u.clan_sym from ${db_name}_users u where u.login_id = '$player[login_id]'"); 
     $player = mysql_fetch_assoc($pQuery); 

     $cache[$player['login_name']] = formatName($player['login_id'], 
     $player['login_name'], $player['clan_id'], $player['clan_sym'], 
     $player['clan_sym_color']); 
    } 

    return $cache[$player['login_name']]; 
} 

上述功能的

function &formatName($id, $name, $clanId, $clanSym, $clanCol) 
{ 
    static $cache = array(); 

    if (!isset($cache[$name])) { 
     $cache[$name] = esc($name); 

     if ($id !== NULL) { 
      $cache[$name] = '<a href="' . esc('player_info.php?target=' . $id) . 
      '">' . $cache[$name] . '</a>'; 
     } else { 
      $cache[$name] = "<s>{$cache[$name]}</s>"; 
     } 

     if ($clanId !== NULL && $clanId != 0) { 
      $cache[$name] = "(<span style=\"color: #$clanCol;\">" . 
      htmlentities($clanSym) . "</span>) " . $cache[$name]; 
     } 
    } 

    return $cache[$name]; 
} 

//打印点击打印名称与玩家的名称的链接。 我想在链接上放置一张桌子或某种装饰背景。 任何方式,我可以做到这一点? 感谢您的阅读。

+0

PHP不会帮助... – Capsule 2011-04-15 09:29:30

+0

补给它。大声笑im试图添加一个div,但它也不工作。 – Kendo 2011-04-15 09:30:32

+1

考虑阅读关于[CSS](http://en.wikipedia.org/wiki/Cascading_Style_Sheets) – Khez 2011-04-15 09:31:06

回答

0

简单地改变行:

$cache[$name] = '<a href="' . esc('player_info.php?target=' . $id) . '">' . $cache[$name] . '</a>'; 

$cache[$name] = '<span class="link-decorator">'; 
$cache[$name] .= '<a href="' . esc('player_info.php?target=' . $id) . 
      '">' . $cache[$name] . '</a>'; 
$cache[$name] .= '</span>'; 

然后你可以风格的链接,并利用周围跨度CSS:

span.link-decorator { border: 3px solid #789abc; } 
span.link-decorator a { color: red; } 
span.link-decorator a:hover { color: blue; } 
span.link-decorator a:visited { color: green; } 
+0

下一个回复将是“它什么都不做”:-) – Capsule 2011-04-15 09:33:03

+0

或“它不工作”:) – 2011-04-15 09:34:10

+0

大声笑,它不工作,它什么都不做。实际上它完全隐藏了链接。 – Kendo 2011-04-15 09:35:02

0

您可以在链接周围放置一个范围,然后添加样式,以便为样式链接提供更多的灵活性。

$cache[$name] = '<span style="background-image: url(image.jpg);"><a href="' . esc('player_info.php?target=' . $id) . '">' . $cache[$name] . '</a></span>'; 
+0

我想说这个工程,但它没有。抱歉。 – Kendo 2011-04-15 09:50:43

+0

它是示例代码 - 您必须用您的服务器上的真实图像来代替'image.jpg' ... – 2011-04-15 10:00:09

+0

并纠正我的错别字:)但这与选择的答案完全相同 - 因此忘记了它。 – 2011-04-15 10:01:42