使用serialise和printf在循环上选择回应

时间:2015-09-21 00:24:07

标签: php

显示小时如何回显或打印所选,变量为$value['hour'],对不起我以前从未使用%1 $ s-%2 $ s。

    <?php $time = mktime(0, 0, 0, 1, 1);
for ($i = 0; $i < 86400; $i += 1800) {  
// 1800 = half hour, 86400 = one day
    printf('<option value="%1$s-%2$s" >%1$s-%2$s</option>',
           date('g:i', $time + $i), date('g:i a', $time + $i + 1800));
}  ?>

我试过像

这样的东西
   <?php $time = mktime(0, 0, 0, 1, 1);
for ($i = 0; $i < 86400; $i += 1800) {  
// 1800 = half hour, 86400 = one day
    if($value['hour'] == "%1$s-%2$s" ){ $selected = "selected" ;}else {$selected= "";}
    printf('<option value="%1$s-%2$s" '.$selected.'>%1$s-%2$s</option>',
           date('g:i', $time + $i), date('g:i a', $time + $i + 1800));
}  ?>

但也不起作用。任何想法请。

2 个答案:

答案 0 :(得分:2)

看起来您正在尝试使用PHP脚本获取所选选项的值,但PHP不会像您尝试使用它那样工作。当客户端导航到PHP文件时,PHP脚本在服务器上执行。当PHP完成执行时,生成的HTML将被发送到客户端的浏览器。客户端与该HTML之间的任何交互都不会被生成它的PHP脚本访问,因为该脚本不再执行。如果您只想在页面的其他位置显示所选选项的值,则可以使用JavaScript。如果要将值发送回服务器,则应使用另一个PHP文件进行表单操作。

答案 1 :(得分:0)

所以这就是我得到它的方式

if