0

MYSQL からすべてのキーを取得している配列内の Date 変数のみを分離する方法がわかりません。%M %d のフォーマットにしたいです。$dataFields 配列から取り出して変更し、元に戻すにはどうすればよいですか? キーは「日付」です。

include('include/connect.php');

$table='currentJobs';

$sql="SELECT * FROM `".$table."`";
$result=mysql_query($sql,$dbLink);

$data=array();
$d=0;
while($row=mysql_fetch_assoc($result)){
    $dataFields=array();

    while(list($key,$value)=each($row)){
        $dataFields[]='<td class="'.$key.'" >'.$row[$key].'</td>';
        if ($d==0){
            $dataKeys[]='<th class="'.$key.'" >'.$key.'</th>';
        }
    }

    if ($d==0){
        $data[$d]='<tr>'.join('',$dataKeys).'<th class="actions">Actions</th></tr>';
        $d++;
    }   

    $data[$d]='<tr>'.join('',$dataFields).'<td>
        <a href="update.php?id='.$row['id'].'">Update</a></td></tr>';
    $d++;
}
mysql_free_result($result);

if ($d>0){
    echo '<table class="sortable">'.join('',$data).'</table>';
}
else {
    echo 'Sorry, data was not found';
}

mysql_close($dbLink);

現在表示中:

Date    Name    Phone   Bike_Year   Bike_Model  Current_Status  Service_Type ▴  Mechanic    Revenue Notes   Actions
0000-00-00  Test User   206-555-5555    2001    FLHRI   Checked In  Spec Service Interval   Johhny  840.30      Update
4

2 に答える 2

0

この方法は、JOE LEE によって提案されているように、SQL 内の形式を変更するだけでは効率が低下します。ただし、どちらの方法でも機能します。好きな方が機能するはずです。

if($key == 'Date'){
    $dataFields[]='<td class="'.$key.'" >'.date('M d',strtotime($row[$key])).'</td>';
} else {
    $dataFields[]='<td class="'.$key.'" >'.$row[$key].'</td>';
}

またはコンパクト:

$dataFields[] = $key == 'Date' ? date('M d',strtotime($row[$key])) : $row[$key];

日付形式のオプションについては、こちらをご覧ください: http://us1.php.net/manual/en/function.date.php

于 2013-04-16T03:14:36.723 に答える
0
$sql="SELECT 
    date_format(date, '%M %d') AS date,
    Name,Phone,Bike_Year,Bike_Model,Current_Status  Service_Type,Mechanic,Revenue,Notes
FROM `".$table."`";
于 2013-04-16T03:17:10.540 に答える