-2

ユーザーレベル 1 のユーザーだけではなく、すべてのメンバーのユーザー名を青く表示するにはどうすればよいですか? ここに私のコードがあります:

This is the start of the php
 <?php $sql = "SELECT
        topic_id,
        topic_subject
    FROM
        topics
    WHERE
        topics.topic_id = " . mysql_real_escape_string($_GET['id']);

$result = mysql_query($sql);

if(!$result)
{
echo 'The topic could not be displayed, please try again later.';
}
else
{
if(mysql_num_rows($result) == 0)
{
    echo 'This topic doesn&prime;t exist.';
}
else
{
    while($row = mysql_fetch_assoc($result))
    {
        //display post data

        //fetch the posts from the database
        $posts_sql = "SELECT
                    posts.post_topic,
                    posts.post_content,
                    posts.post_date,
                    posts.post_by,
                    users.user_id,
                    users.user_name,
                    users.avatar,
                    users.user_date,
                    users.user_level,
                    users.forum_rank,
                    users.site_rank,
                    users.post,
                    users.signature

                FROM
                    posts
                LEFT JOIN
                    users
                ON
                    posts.post_by = users.user_id
                WHERE
                    posts.post_topic = " .     mysql_real_escape_string($_GET['id']);

        $posts_result = mysql_query($posts_sql);

        if(!$posts_result)
        {
            echo '<tr><td>The posts could not be displayed, please try again later.</tr></td></table>';
        }
        else
        {

            while($posts_row = mysql_fetch_assoc($posts_result))
            {

echo ' <br/>';
echo ' <div class="header" id="post11992">

<div class="reply">
    <div class="h3">
        <table class="replyheader">
            <tr>
                <td>
                    <img src="http://www.naruto-boards.com/images/forum/post_reply.gif" alt="" /> Posted on <b>';
                echo '' . date(" F j, Y, g:i A", strtotime($posts_row['post_date'])) . '';echo '</b>
                </td>   
                <td class="right">
<a href="/messages/send/sasy/">Message</a>
<a href="/forums/topic/31/20/quote/11992/#form">Quote</a>
<a href="/forums/topic/31/20/edit/11992/#form">Edit</a>

                </td>
            </tr>
        </table>        
    </div>
</div>
</div>';
echo '<table class="reply">
<tr>
    <td class="post_userinfo">';
///////////webaster
                if($_SESSION['user_level'] != 1 )
{
//the user is not an admin
echo '';
}
else
{ echo '            <a href="/index.php?area=profile&username=' .             $posts_row['user_name'] . '" class="topicuser_member"><font class="rank5">' .     $posts_row['user_name'] . '</font></a>';}

////////////////admin
if($_SESSION['user_level'] != 2 )
{
//the user is not an admin
echo '';
}
else
{ echo '            <a href="/index.php?area=profile&username=' .     $posts_row['user_name'] . '" class="topicuser_member"><font class="rank4">' . $posts_row['user_name'] . '</font></a>';}

////////////////GM
if($_SESSION['user_level'] != 3 )
{
//the user is not an admin
echo '';
}
else
{ echo '            <a href="/index.php?area=profile&username=' .     $posts_row['user_name'] . '" class="topicuser_member"><font class="rank3">' . $posts_row['user_name'] . '</font></a>';}


////////////////Mod
if($_SESSION['user_level'] != 4 )
{
//the user is not an admin
echo '';
}
else
{ echo '            <a href="/index.php?area=profile&username=' . $posts_row['user_name'] . '" class="topicuser_member"><font class="rank2">' . $posts_row['user_name'] . '</font></a>';}

////////////////Member
if($_SESSION['user_level'] != 5 )
{
//the user is not an admin
echo '';
}
else
{ echo '            <a href="/index.php?area=profile&username=' . $posts_row['user_name'] . '" class="topicuser_member"><font class="rank1">' . $posts_row['user_name'] . '</font></a>';}

////////////////guest
if($_SESSION['user_level'] != 0 )
{
//the user is not an admin
echo '';
}
else
{ echo '            <a href="/index.php?area=profile&username=' . $posts_row['user_name'] . '" class="topicuser_member"><font class="rank0">' . $posts_row['user_name'] . '</font></a>';}


echo'
        <br />Rank: ' . $posts_row['site_rank'] . '         <br     />Status: <img style="margin-bottom: -6px; margin-top: -2px;" src="/images/other/1.gif" alt="" /> <span class="online">online</span>            <br /><img style="min-height: 75px; min-width: 75px; max-height: 75px; max-width: 75px;" src="' .     $posts_row['avatar'] . '" alt="" />
        <br /><b>Forum Rank:</b><br />' . $posts_row['forum_rank'] . '              <br /><br /><b>Posts:</b> ' . $posts_row['post'] . '            <br /><b>Joined on:    </b>
        <br />' . date(" F j, Y, g:i A",     strtotime($posts_row['user_date'])) . '        </td>

    <td>
        <div class="post_container">
            <div class="right">
                <br/>
            </div>
            <table>
                <tr>
                    <td class="post_text">

                        ' .     htmlentities(stripslashes($posts_row['post_content'])) . '
                        <div class="dots"></div><div class="signature lock300580">' . $posts_row['signature'] . '</div>
                    </td>
                </tr>
            </table>
        </div>
    </td>
</tr>
</table>
';}}}}}
?>

そのコードで、私はウェブマスターのためにこれを取得しますhttp://prntscr.com/gd5s8 ゲストまたは他のランクで、私はこれを取得しますhttp://prntscr.com/gd5tf

4

4 に答える 4

1

これを行うだけです。その非常に簡単です:

  $username = $post_row['user_name'];
  if($_SESSION['user_level'] == 1)
  {
       echo "<a style='color: blue;' href='index.php?area=profile&username='$username>$username</a>";
  } 
  else
  {
       echo "<a href='index.php?area=profile&username='$username>$username</a>";
  }

ハッピーコーディング:)

于 2012-09-28T06:53:51.643 に答える
1

私の知る限り、それはユーザー名 (rank1 など) の周りの font タグのクラスです。これは、if ステートメントのそのブロックで変化する唯一のものであるように見えるからです。視聴者のユーザーレベルによって変化します。おそらく、$posts_row のユーザー レベルに基づいて変更するつもりでした。青のスタイルは、CSS またはどこかの JavaScript のいずれかで、ランク 5 クラスに基づいているに違いありません。

$posts_row ユーザーのランクに関係なく、すべてのユーザー名を同じ色にしたい場合は、冗長になるため、if ステートメントを削除することをお勧めします。

于 2012-09-28T05:26:21.530 に答える
1

Erik がコメントで言ったことを拡張します:要素1に指定された CSS クラスが既に 存在し、そのうちの 1 つが既に(またはそれは?) 要素を青く表示しています!rank0rank5fontrank1rank0

したがって、CSS変更するだけで十分です。CSS の目的rank1(またはrank0?) を確認し、適用可能な他の CSS クラスにも適用できるようにします。どこかに .css ファイルが含まれている可能性があり、それ (または適切なインライン スタイル要素) を見つけることが、他のレベルのプレイヤー名の表示に使用される色を変更するための鍵となります。


1この deprecated<font>タグの使用には非常に疑問があります ( HTML5 ではサポートされていません。HTML4.01 以降は非推奨です!) .. しかし、CSS バインディング サイトとして引き続き機能する可能性があります。<span>ただし、この時点でに変更することをお勧めします(または、ネストされた要素を削除して、クラスの装飾を に直接追加します<a>)。

于 2012-09-28T05:23:01.510 に答える
1

レベル1を除くすべてのレベルの場合、ユーザー名を出力する前にcssクラスでスパンを使用し、そのクラスに color : blue を与えることができます

例えば:

 echo '            <a href="/index.php?area=profile&username=' .     $posts_row['user_name'] . '" class="topicuser_member"><font class="rank4"><span class='blue'> . $posts_row['user_name'] . '</span></font></a>';}

CSSは次のようになります

.blue
{
color: blue;
}
于 2012-09-28T05:23:51.720 に答える