如果帐户类型= x,则转到链接1,如果帐户类型= y必须链接2?

时间:2013-02-09 15:28:00

标签: php mysql hyperlink

我的网站上有两种类型的用户,“免费”和“高级”。 基本上我有一个消息系统列出了消息和发送消息的用户。

当您点击用户的名称/图片时,它会链接到'profile.php?id=(user_id)'

我想要做的是,如果发送消息的用户的帐户类型=“免费”,那么我想在点击时将用户带到其他链接。

我是php的新手,我不知道该怎么做,请有人给我看一个如何做到这一点的例子。这是我目前的代码。

功能:

function message_account_type() {
            global $connection;
            global $_SESSION;
            global $profile_id;
            global $message_id;
            $query = "SELECT ptb_users.account_type, ptb_messages.from_user_id
                        FROM ptb_users, ptb_messages
                        WHERE ptb_messages.from_user_id = \"$profile_id\"
                        AND ptb_profiles.user_id = ptb_messages.from_user_id ";
            $message_account_type = mysql_query($query, $connection);
            confirm_query($query, $connection);
            return $message_account_type;
        }

PHP:

<?php
$message_account_type = message_account_type();
while ($type = mysql_fetch_array($message_account_type)) 
if ($type['account_type'] == 'Premium')  {
echo "<a href=\"profile.php?id={$inbox['from_user_id']}\" ><img width=\"50px\" height=\"50px\" src=\"data/photos/{$inbox['from_user_id']}/_default.jpg\" /></a>";?></div><div class="message_text"><?php echo "<a href=\"profile.php?id={$inbox['from_user_id']}\">{$inbox['display_name']}</a>"; ?><? } ?>

<?php
$message_account_type = message_account_type();
while ($type = mysql_fetch_array($message_account_type)) 
if ($type['account_type'] == 'Free')  {
echo "<a href=\"members.php?id={$inbox['from_user_id']}\" ><img width=\"50px\" height=\"50px\" src=\"data/photos/{$inbox['from_user_id']}/_default.jpg\" /></a>";?></div><div class="message_text"><?php echo "<a href=\"members.php?id={$inbox['from_user_id']}\">{$inbox['display_name']}</a>"; ?><? } ?>

2 个答案:

答案 0 :(得分:0)

最好的办法是提供profile.php内的相关模板文件。例如,在profile.php上,您可以执行以下操作:

$the_user = new User($_REQUEST['id']);
$include_file = ($the_user->account_type == 'free') ? 'free' : 'premium';
include($include_file.'-profile.php');

答案 1 :(得分:0)

我认真地没有IDEA为什么这么多人无缘无故地在文档中打开和关闭<?php标签...

更短的版本将是:

<?php
function is_premium_user($profile_id)
{
    $query = sprintf("SELECT ptb_users.account_type WHERE ptb_messages.from_user_id = '%s' AND account_type = 'Premium' LIMIT 1", $profile_id );
    $result = mysql_query($query);
    if (!mysql_fetch_assoc($result))
        return false;
    return true;
}
$message_account_type = message_account_type();
while ($type = mysql_fetch_array($message_account_type)) 
if (is_premium_user($profile_id))
    echo '<a href="profile.php?id='.$inbox['from_user_id'].'><img width="50px" height="50px" src="data/photos/'.$inbox['from_user_id'].'/_default.jpg"/></a></div><div class="message_text"> <a href="profile.php?id='.$inbox['from_user_id'].'">'.$inbox['display_name'].'</a>'; 
else
    echo '<a href="members.php?id='.$inbox['from_user_id'].'><img width="50px" height="50px" src="data/photos/'.$inbox['from_user_id'].'/_default.jpg"/></a></div><div class="message_text"> <a href="members.php?id='.$inbox['from_user_id'].'">'.$inbox['display_name'].'</a>'; 
?>