PHP只显示数据行

时间:2015-10-08 16:42:35

标签: php css mysqli extract

到目前为止,我所做的是编写一个我在另一页上调用的函数:

<div style="<?php echo groupColor($_SESSION['username']); ?>"><?php echo $_SESSION['username']; ?></div>

它从username_css检索xf_user_group样式的方式是什么呢?这样我就可以根据xenforo论坛上的颜色为用户的用户名着色(所有username_css包含color: #somecolorcode;

function groupColor($username) {

    global $xenforo;

    $xf_getuser = $xenforo->query("SELECT * FROM xf_user WHERE username = '".$username."'");

    if($xf_getuser->num_rows >= 1) {

        $fetch_xf_getuser = $xf_getuser->fetch_array();
        $fetch_xf_getuser_group = $fetch_xf_getuser["display_style_group_id"];

        $xf_getgroupstyle = $xenforo->query("SELECT * FROM xf_user_group WHERE user_group_id = '".$fetch_xf_getuser_group."'");

        if($xf_getgroupstyle->num_rows >= 1) {

            $fetch_xf_getgroupstyle = $xf_getgroupstyle->fetch_array();
            $result_forum_css = $fetch_xf_getgroupstyle["username_css"];

            return $result_forum_css;

        } else {

            die(mysqli_error($xenforo));

        }

    } else {

        die(mysqli_error($xenforo));

    }

}

我现在要做的是,只从color: #somecolorcode;中提取username_css,这样我就可以用它为背景着色,如下所示:background-color: #somecolorcode;

知道我应该如何继续?感谢所有的帮助,对不好的标题感到抱歉,我不确定该方法的用途。

编辑1: username_css行不仅包含color: #colorcode;,还包含以下内容:font-weight: bold; font-style: italic; color: red;

2 个答案:

答案 0 :(得分:0)

您可以尝试获取颜色后的所有数据:使用strpos和substr:

public ArrayList getUnique( ArrayList original, ArrayList subset ){
        ArrayList u = new ArrayList();
        Collection<ArrayList> o = original;
        Collection<ArrayList> s = subset;

        o.removeAll(s);
        u.addAll(o);

        return u;
}

答案 1 :(得分:0)

而不是下线。

 return $result_forum_css;

替换它。

 $total_prop = count($result_forum_css);
 $explode_result = explode(";",$result_forum_css);
 return $explode_result[$total_prop-2];

在这里,根据您的评论,我们将计算总结果,最后的结果将始终为空,因此,我们获取倒数第二个元素,以便我们用2来否定总计数。