2013-04-16 2 views
0

Я не могу понять, как изолировать только переменную Date в массиве, который вытаскивает все ключи из MYSQL. Я хочу сделать формат% 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 

ответ

0

Этот метод является менее эффективным, то просто изменив формат в пределах SQL, как предложено JOE LEE. Но в любом случае работает, в зависимости от того, что вы предпочитаете, должно работать.

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

+0

Спасибо Это работало. Я не понимаю, почему это работает. –

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."`"; 
+0

Спасибо! Мне нравится этот подход. –

Смежные вопросы