2012-10-27 30 views
0

我有一个项目列表,每个项目都有一个日期/时间选项。我需要为每个列表项目显示正确的时间。选择属性中AM/PM值显示不正确

但这似乎并不奏效。它将为$ duedateA返回正确的'am'或'pm'值,但是当我尝试设置选定的属性值时会变得不可靠,并且会显示错误的上午或下午,或两者都显示。

我做错了什么?

if(!empty($resInvoice[0]["due_date"])){ 
$duedateA = date("a",strtotime($resInvoice[0]['due_date'])); 
}  
if($duedateA == "am"){ 
$selected_am = 'selected="selected"'; 
} 
if($duedateA == "pm"){ 
$selected_pm = 'selected="selected"'; 
} 

<select name="due_time[a]"> 
<option value="am" '.$selected_am.'>am</option> 
<option value="pm" '.$selected_pm.'>pm</option> 
</select> 
+1

你能显示HTML吗? –

+0

添加到底部 – jonthoughtit

+0

这似乎对我来说当我设置$ resInvoice [0] ['due_date'] = time();你可以举一个例子$ resInvoice [0] ['due_date'] –

回答

0
date_default_timezone_set('America/New_York'); 
$resInvoice[0]["due_date"] = '2012-10-26 03:21:44'; 
$selected_am = ''; 
$selected_pm = ''; 
$duedateA = ''; 
if(!empty($resInvoice[0]["due_date"])){ 
    $duedateA = date("a",strtotime($resInvoice[0]["due_date"])); 
}  
if($duedateA == "am"){ 
    $selected_am = ' selected="selected"'; 
} 
if($duedateA == "pm"){ 
    $selected_pm = ' selected="selected"'; 
} 

echo '<select name="due_date[a]"> 
    <option value="am"'.$selected_am.'>AM</option> 
    <option value="pm"'.$selected_pm.'>PM</option> 
</select>'; 

对不起,所有的变量,我有我的错误设置为严格。

+0

非常好。问题解决了!我想我忘了宣布我的空变量。谢谢! – jonthoughtit