Php 徽章原因错误

Php 徽章原因错误,php,mysql,html,Php,Mysql,Html,我试图在我们的系统上展示徽章,徽章是对用户的奖励/成就。他们在个人资料上显示,有效的是图像/徽章显示,但徽章原因不起作用 我试着这样做 <? $badgesql = mysql_query("select * from usr_badge where user = '$user'"); $user2 = mysql_query("select * from usr_users where username = '$user'"); $usr2 = mysql_fet

我试图在我们的系统上展示徽章,徽章是对用户的奖励/成就。他们在个人资料上显示,有效的是图像/徽章显示,但徽章原因不起作用

我试着这样做

<?
    $badgesql = mysql_query("select * from usr_badge where user = '$user'");
    $user2 = mysql_query("select * from usr_users where username = '$user'");
    $usr2 = mysql_fetch_array($user2);
    $vipsql = mysql_query("select * from usr_vip where userid = '$usr2[id]'");
    $vipcheck = mysql_num_rows($vipsql);
    $badgecheck = mysql_num_rows($badgesql);
    $checkit = $badgecheck + $vipcheck;
    if($checkit==0)
    echo("This user does not have any badges");
    else
    if($badgecheck!=0)
    {
    while($badge = mysql_fetch_array($badgesql))
    {
    echo('<a onclick="TINY.box.show({html:'Reason: '.$badge[reason].',animate:false,close:false,mask:false,boxid:'success',autohide:2,top:-14,left:-17})"><img src="'.$badge[badge].'" </a>');
    }
    }
    //Display VIP Badges
    if($vipcheck!=0)
    {
    $vipbadge = mysql_fetch_array($vipsql);
    $vip1 = mysql_query("select * from usr_vipdb where id = '$vipbadge[vipid]'");
    $vip2 = mysql_fetch_array($vip1);
        echo('<img src="'.$vip2[url].'" alt="This user is a VIP!" />');
    }
    ?>

echo
开头的那条长线可能是错误的——此处突出显示的语法与之不符,表明您可能与引号或类似内容不匹配。(把它分开。把每一小段放在自己的线上。这样你就不会错过错误了。)

以下是您当前的代码,我相信解释器会解析它:

echo('<a onclick="TINY.box.show({html:'
Reason: '.$badge[reason].'
,animate:false,close:false,mask:false,boxid:
'success'
,autohide:2,top:-14,left:-17})
"><img src="
'.$badge[badge].'
" </a>');
echo('and.

试试这个(我想是固定的开/关引号)



我也猜你的开放式和封闭式引用不一致。简单地从代码块中突出显示的语法判断,我还发现了一个开放式
img
标记,我刚刚在回答中更正了它。我刚刚恢复了对这篇文章的编辑-一般来说,一旦有人问了问题,它应该只进行调整,以便得到相应的答案这仍然有意义。如果你有一个完全不同的问题要问,打开一个新问题。至少这里的突出显示是固定的。:@sarnold我有一段时间没有做PHP了。。。这是个不好的地方吗?或者不是真的?我试过了,错误消失了,我可以查看徽章,但当我点击图像弹出原因时,它就不存在了。谢谢你的帮助,凯尔。:)@凯尔,我认为这对一个医生来说有点过分了,但把它分成三行或四行不会有任何伤害@Hillajannar:这不是一个修复。它只是想指出你的字符串极其复杂。凯尔在他的回答中找到了最终的解决方案。
<?
    $badgesql = mysql_query("select * from usr_badge where user = '$user'");
    $user2 = mysql_query("select * from usr_users where username = '$user'");
    $usr2 = mysql_fetch_array($user2);
    $vipsql = mysql_query("select * from usr_vip where userid = '$usr2[id]'");
    $vipcheck = mysql_num_rows($vipsql);
    $badgecheck = mysql_num_rows($badgesql);
    $checkit = $badgecheck + $vipcheck;
    if($checkit==0) {
        echo("This user does not have any badges");

    } else {
        if($badgecheck!=0)
        {
            while($badge = mysql_fetch_array($badgesql))
            {
                echo('<a onclick="TINY.box.show({html: "Reason: '.$badge[reason].'",animate:false,close:false,mask:false,boxid:"success",autohide:2,top:-14,left:-17})"><img src="'.$badge[badge].'" /></a>');
            }
        }
        //Display VIP Badges
        if($vipcheck!=0)
        {
            $vipbadge = mysql_fetch_array($vipsql);
            $vip1 = mysql_query("select * from usr_vipdb where id = '$vipbadge[vipid]'");
            $vip2 = mysql_fetch_array($vip1);
            echo('<img src="'.$vip2[url].'" alt="This user is a VIP!" />');
        }
    }
?>