php自定义sql返回值

时间:2014-06-01 13:19:18

标签: php mysql sql database

我有一个数据表,其中我从sql查询返回值。现在有一个问题。我想返回不是实际的sql值,而是返回与sql值db匹配的custum参数。例如,我有一个状态值,在sql数据库中描述为D - done,N - new,P - 正在进行中。所以在datable表中我想看到这些值而不是这三个字母。我的PHP代码片段:

        $data = "";
        $array = db_get_task();
        if ($array != null) 
        {
            for ($i = 0; $i < count($array); $i++)
            {
                $data .= '<tr>
                    <td>' . $array[$i]['task'] . '</td>
                    <td>' . $array[$i]['id'] . '</td>
                    <td>' . $array[$i]['cust'] . '</td>
                    <td>' . $array[$i]['City'] . '</td>
                    <td>' . $array[$i]['STATE'] . '</td>   //this line returns D, N or P values
                    <td>' . $array[$i]['date'] . '</td>
                    </tr>';
            }
        }
顺便说一下。在数据库中,这些字母使用varchar类型

2 个答案:

答案 0 :(得分:0)

试试这个

 $data = "";

 $values = array('D' => 'done', 'N' => 'new', 'P' => 'in progress');

 $array = db_get_task();

    if ($array != null) 
    {
        for ($i = 0; $i < count($array); $i++)
        {
            $data .= '<tr>
                <td>' . $array[$i]['task'] . '</td>
                <td>' . $array[$i]['id'] . '</td>
                <td>' . $array[$i]['cust'] . '</td>
                <td>' . $array[$i]['City'] . '</td>
                <td>' . $values[$array[$i]['STATE']] . '</td>   //this line returns done, new or in progress values
                <td>' . $array[$i]['date'] . '</td>
                </tr>';
        }
    }

答案 1 :(得分:0)

<强>尝试:

$states = array('D' => 'done', 'N' => 'new', 'P' => 'in progress');

$data = "";
$array = db_get_task();
if ($array != null) 
{
    for ($i = 0; $i < count($array); $i++)
    {
        $data .= '<tr>
                <td>' . $array[$i]['task'] . '</td>
                <td>' . $array[$i]['id'] . '</td>
                <td>' . $array[$i]['cust'] . '</td>
                <td>' . $array[$i]['City'] . '</td>
                <td>' . if(array_key_exists($array[$i]['STATE'], $states) { $states[$array[$i]['STATE']]; }. '</td>
                <td>' . $array[$i]['date'] . '</td>
                </tr>';
    }
}


说明:

为所有 custom associative array 创建 states 。如果 value (即D,N,P)作为key中的 array 存在,请获取<强> value