PHP自定义SQL返回值


php custum sql return value

我有一个数据表,我从sql查询返回值。现在有一个问题。我想返回不实际的sql值,但自定义参数与sql值db匹配。例如,我有一个状态值,在sql数据库中描述为D - done, N - new, P - in progress。在数据表中,我希望看到这些值,而不是这三个字母。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类型

try this

 $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>';
        }
    }

Try:

$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>';
    }
}


解释:

为所有 states 创建一个 custom associative array 。如果 value (即D, N, P)在array中作为 key 存在,则得到 value