Re: [心得] 關於時間日期加減的方法

看板PHP作者 (順)時間17年前 (2009/01/31 23:42), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串10/11 (看更多)
※ 引述《KC73 (肯先生)》之銘言: : ※ 引述《idcomputer (順)》之銘言: : : 不好意思可以再多請教KC大一個問題嗎?! : : 假設起始日期是 : : <? $d = strtotime("2009-02-02"); ?> : : 以下有個表單 : : <input name="c[]" type="checkbox" id="c[]" : : value=" : : <? : : for($q=1;$q<=5;$q++) : : { echo date("Y-m-d",strtotime("+{$q} weeks",$d)); : : echo "-1"; //第一節 : : } : : ?> : : "> : : <input name="c[]" type="checkbox" id="c[]" : : value=" : : <? : : for($q=1;$q<=5;$q++) : : { echo date("Y-m-d",strtotime("+{$q} weeks",$d));} : : echo "-2"; //第二節 : : ?> : : "> : : 如果將此二核取方塊都勾選後,如何將各日期的資料分筆存入資料表內呢 : : EX 五周的日期的話 : : INSERT table set date = '2009-02-09-1' : : INSERT table set date = '2009-02-16-1' : : INSERT table set date = '2009-02-23-1' : : INSERT table set date = '2009-03-02-1' : : INSERT table set date = '2009-03-09-1' : : INSERT table set date = '2009-02-09-2' : : INSERT table set date = '2009-02-16-2' : : INSERT table set date = '2009-02-23-2' : : INSERT table set date = '2009-03-02-2' : : INSERT table set date = '2009-03-09-2' : : 之前之在送出表單後 : : for($i=0;$i<count($c);$i++){ : : $sql="INSERT table set c='".$c[$i]."'"; : : $result=mysql_query($sql); : : } : : 不過日期這樣就通通擠在$c[$i]裡面 : : 在煩請高手您指點^^||感恩~~ : 在下不是高手也不大, 所以就不用那麼客氣了。 : 針對問題回答的話, 大概會長這個樣子, 參考看看~ : (這個檔案叫做 t.php) : <?php : if (!empty($_POST)) { : unset($sql); : foreach($_POST['c'] as $d1) { : $d2 = explode(",",$d1); 這邊是指先將字串分割 分割出來應該是 2009-02-09#1 2009-02-16#1 2009-02-23#1 2009-03-02#1 2009-03-09#1 2009-02-09#2 2009-02-16#2 2009-02-23#2 2009-03-02#2 2009-03-09#2 的陣列 : foreach($d2 as $d3) { : if (!empty($d3)) { : $d4 = explode("#",$d3); 此部分是只說將字串在進行分割為前後兩半嗎?!?! $d4[0]指的是前段 $d4[1]指的是後段 所以就會將其分為 EX 2009-03-09-1 不過有一點想再請教您的是 如果兩個核取方塊都勾選的情況下送出的話 INSERT INTO class (c) VALUES ('2009-02-09-1'),('2009-02-16-1'),('2009-02-23-1'), ('2009-03-02-1'),('2009-03-09-1'), ('1970-01-01-0') ^^^^^^^^^^^^^^^^ 第二個核取方塊的日期卻有了些錯誤 而後面應該接的尾數本來是2也變成0了 想請教您問題是出在哪邊呢!? 非常感謝您讓我又學到了不少~~~感恩^^~~ : $sql[] = "('".date("Y-m-d",strtotime($d4[0])). : "-".(int) $d4[1]."')"; : } : } : } : echo "INSERT INTO `table` (date) VALUES ".implode(",",$sql); : exit; : } : ?> : <form action='t.php' method='post'> : <? $d = strtotime("2009-02-02"); ?> : <input name="c[]" type="checkbox" id="c[]" : value="<? : for($q=1;$q<=5;$q++) : { echo date("Y-m-d",strtotime("+{$q} weeks",$d)); : echo "#1,"; : } : ?>"/> : <input name="c[]" type="checkbox" id="c[]" : value="<? : for($q=1;$q<=5;$q++) : { echo date("Y-m-d",strtotime("+{$q} weeks",$d)); : echo "#2,"; : } : ?>"/> : <input type='submit'/> : </form> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.221.166.118
文章代碼(AID): #19X75w3y (PHP)
討論串 (同標題文章)
文章代碼(AID): #19X75w3y (PHP)