Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > กระทู้สำหรับภาษาต่าง ๆ > ถามเรื่องการส่งค่าจากปฏิทินค่ะ มันส่งค่าได้แต่เดือน ปี ปัจจุบัน เท่านั้นค่ะ พอเราจะเลือกวันที่ในเดือนถัดไป มันก็ส่งค่าออกมาเป็นเดือนปัจจุบันอยู่ค่ะ มีใครรู้วิธีแก้ไหมคะ


ถามเรื่องการส่งค่าจากปฏิทินค่ะ มันส่งค่าได้แต่เดือน ปี ปัจจุบัน เท่านั้นค่ะ พอเราจะเลือกวันที่ในเดือนถัดไป มันก็ส่งค่าออกมาเป็นเดือนปัจจุบันอยู่ค่ะ มีใครรู้วิธีแก้ไหมคะ

 
Topic : 083323



โพสกระทู้ ( 33 )
บทความ ( 0 )



สถานะออฟไลน์



ตอนนี้ลองฝึกทำปฏิทินเหตุการณ์ ไปก๊อบมาจากเว็บหนึ่งค่ะ
แต่พอเอามาลองทำดู มันจะส่งค่า วัน เดือน ปี ออกมาแต่ติดที่ มันส่งค่าได้แต่เดือน ปี ปัจจุบัน เท่านั้นค่ะ
พอเราจะเลือกวันที่ในเดือนถัดไป มันก็ส่งค่าออกมาเป็นเดือนปัจจุบันอยู่ค่ะ มีใครรู้วิธีแก้ไหมคะ ขอบคุณล่วงหน้าค่ะ

mainCalendar.php
01.<html>
02.<head>
03.<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
04.<link rel="stylesheet" href="css/empSmallCalendar.css" type="text/css" />
05.<script type="text/javascript" src="js/empSmallCalendar.js"></script>
06.<title>test</title>
07.</head>
08.<body onLoad="loadcalendar('<?="m=".$_GET[m]."&amp;y=".$_GET[y]?>')">
09.<div align="center" id="empSmallCalendar">กำลังโหลด...</div>
10.</body>
11.</html>


empSmallCalendar.php
01.<?php
02.  header( "Expires: Sat, 1 Jan 2005 00:00:00 GMT" );
03.  header( "Last-Modified: ".gmdate( "D, d M Y H:i:s" )."GMT" );
04.  header( "Cache-Control: no-cache, must-revalidate" );
05.  header( "Pragma: no-cache" );
06.  header( "content-type: application/x-javascript; charset=UTF-8" );
07.  //ปรับเวลาให้ตรงกับเวลาเมืองไทย กรณีที่ server อยู่ที่เมืองนอก โดยความสำคัญอยู่ที่ตัวแปร $hour และ $min
08.  $hour = +0; //ปรับให้ตรงตามต้องการ เช่น เป็นค่าบวก หรือค่าลบ เพื่อให้เวลาของ server ตรงกับเวลาจริง
09.  $min = 0; //ปรับให้ตรงตามต้องการ
10.  $thaimonth = array( "มค." , "กพ." , "มีค." , "เมย." , "พค." , "มิย." , "กค." , "สค." , "กย." , "ตค." , "พย." , "ธค." );
11.  $fullthaimonth = array( "มกราคม" , "กุมภาพันธ์" , "มีนาคม" , "เมษายน" , "พฤษภาคม" , "มิถุนายน" , "กรกฎาคม" , "สิงหาคม" , "กันยายน" , "ตุลาคม" , "พฤศจิกายน" , "ธันวาคม" );
12.  //เวลา mmktime
13.  $mmktime = mktime( date( "H" ) + $hour, date( "i" ) + $min );
14.  $year = date( 'Y' , $mmktime ) + 543; //ปีปัจจุบัน ปี พศ. +543
15.  $cyear = ( (int)$_POST[y] != 0 ) ? $_POST[y] : $year; //ปีในปฏิทิน ค่าที่ส่งมาเป็นปี พศ.
16.  $month = date( 'm' , $mmktime ); //เดือนปัจจุบัน
17.  $cmonth = ( (int)$_POST[m] != 0 ) ? $_POST[m] : $month; //เดือนในปฏิทิน ค่าที่ส่งมา 1=มกรา,12=ธันวาคม
18.  $mkdate = mktime( 0 , 0 , 0 , $cmonth , 1 , $cyear - 543 ); //คำนวณวันแรกของเดือนนี้ (คำนวณเป็น ปีคศ.)
19.  $weekday = date( 'w' , $mkdate );
20.  $last_days = date( 't' , $mkdate );
21.  $day = 1;
22.  $nmonth = ( $cmonth < 12 ) ? 'm='.( $cmonth + 1 ).'&amp;y='.$cyear : 'm=1&amp;y='.( $cyear + 1 );
23.  $bmonth = ( $cmonth > 1 ) ? 'm='.( $cmonth - 1 ).'&amp;y='.$cyear : 'm=12&amp;y='.( $cyear - 1 );
24.  //อ่านอีเวนต์ ถ้ามีอีเว้นต์
25.  //ถ้ามีอีเวนต์ รายการวันที่นั้นๆจะเป็นลิงค์
26.  //ตัวอย่างนี้เป็นการแสดงอีเวนต์เหตุการณ์ของ GBlog
27.  //$sql = "SELECT `id`,DAY(`create`) as date FROM `$db_blogs` ";
28.  //$sql .= "WHERE `userid`='$user' AND MONTH(`create`)='$cmonth' AND YEAR(`create`)=".$cyear.";";
29.  //$query = @mysql_query( $sql );
30.  //$rows = @mysql_num_rows( $query );
31.  //$blog_month_array = array(); //แอเรย์เก็บข้อมูล id ตามวันที่
32.  //เอาข้อมูลอีเว้นต์ในเดือนใส่ลง array $blog_month_array ตามวันที่
33.  //for ( $i = 0 ; $i < $rows ; $i++ )
34.  //{
35.  // $result = @mysql_fetch_array( $query );
36.  // $blog_month_array[$result[date]] = $result [id];
37.  //};
38.?>
39.<table cellpadding="0" cellspacing="0" class="empSmallCalendar">
40.<tr>
41.<th><a href="?<?=$bmonth?>" title="เดือนก่อน" onclick="loadcalendar('<?=$bmonth?>');return false">&lt&lt;</a></th>
42.<th colspan="5"><?=$fullthaimonth[$cmonth - 1]." ".$cyear?></th>
43.<th><a href="?<?=$nmonth?>" title="เดือนถัดไป" onclick="loadcalendar('<?=$nmonth?>');return false">&gt&gt;</a></th>
44.</tr>
45.<tr>
46.<th>อา.</th>
47.<th>จ.</th>
48.<th>อ.</th>
49.<th>พ.</th>
50.<th>พฤ.</th>
51.<th>ศ.</th>
52.<th>ส.</th>
53.</tr>
54.<tr>
55.<?
56.  $start = 1;
57.  while( $start <= $weekday ){
58.    echo "<td>&nbsp;</td>";
59.    $start++;
60.  }
61.  $weekday++;
62.  while( $day <= $last_days ){
63.    if ( isset( $blog_month_array[$day] )){ //ถ้ามีเหตุการณ์จะแสดงวันที่เป้นลิงค์
64.      $date = "<a href=empPageEvent.php?dayStamp=".$year.'-'.$month.'-'.$day.">$day</a>";
65.    }else{ //แสดงวันที่ปกติให้ใส่แค่ $day  
66.      $date = "<a href=empPageEvent.php?dayStamp=".$year.'-'.$month.'-'.$day.">$day</a>";
67.    };
68.    if( date( 'j' ) == $day && $month == $cmonth && $year == $cyear ){ //วัน-เดือน-ปี ปัจจุบัน
69.      echo "<td class='today'>$date</td>";
70.    }else{ //วันอื่นๆ
71.      echo "<td>$date</td>";
72.    }
73.    if( $weekday == 7 && $day != $last_days ){
74.      echo '</tr><tr>';
75.      $weekday = 0;
76.    }
77.    $day++;
78.    $weekday++;
79.  }
80.  while( $weekday <= 7 ){
81.    echo "<td>&nbsp;</td>";
82.    $weekday++;
83.  }
84.?>
85.</tr>
86.</table>


empSmallCalendar.js
01.function Inint_AJAX(){
02.  try{
03.    return new ActiveXObject( "Msxml2.XMLHTTP" ); //IE
04.  }catch( e ){
05.   }try{
06.        return new ActiveXObject( "Microsoft.XMLHTTP" ); //IE
07.    }catch( e )
08.     {
09.  }try{
10.    return new XMLHttpRequest(); //Native Javascript
11.   }catch( e ){
12.    }
13.    alert( "XMLHttpRequest not supported" );
14.  return null;
15.};
16.function loadcalendar( query ){
17.  var req = Inint_AJAX();
18.  req.open( "POST" , "empSmallCalendar.php" , true );
19.  req.onreadystatechange = function(){
20.    if ( req.readyState == 4 ){
21.     if ( req.status == 200 ){
22.       document.getElementById( 'empSmallCalendar' ).innerHTML = req.responseText;
23.     };
24.    };
25.  };
26.  req.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
27.  req.send( query );
28.};


อันนี้หน้ารับข้อมูลค่ะ
1.<?php
2.$q=$_GET["dayStamp"];  //เอาค่าไปไว้ใน $q
3.echo $_GET[dayStamp];  //ลองแสดงค่าที่รับมาดูค่ะ
4.?>




Tag : HTML/CSS, Ajax



ประวัติการแก้ไข
2012-09-02 15:28:38
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-09-02 07:09:28 By : plah0078 View : 1249 Reply : 4
 

 

No. 1

Guest


จะทำอะไรครับเนี้ย ดูมันลกๆ จัง
จะทำให้สามารถเลือกวันที่ได้ใช่ไหมเนี้ย เราหาช่องสำหรับรับข้อมูลไม่เจอแฮะที่เห็นมีแต่ให้แสดงข้อมูลวันที่ปัจจุบันน่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-02 14:32:20 By : บังเอิญผ่านมาเห็น
 

 

No. 2



โพสกระทู้ ( 33 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : บังเอิญผ่านมาเห็น เมื่อวันที่ 2012-09-02 14:32:20
รายละเอียดของการตอบ ::

คือใช้อันนี้ ส่งค่าออกมาอ่ะค่ะ ทำถูกไหม แต่มันก็ได้ค่าออกมาแล้วน่ะค่ะ ส่งไปหน้า empPageEvent.php
1.if ( isset( $blog_month_array[$day] )){ //ถ้ามีเหตุการณ์จะแสดงวันที่เป้นลิงค์
2.64.$date = "<a href=empPageEvent.php?dayStamp=".$year.'-'.$month.'-'.$day.">$day</a>";
3.65.}else{ //แสดงวันที่ปกติให้ใส่แค่ $day 
4.66.$date = "<a href=empPageEvent.php?dayStamp=".$year.'-'.$month.'-'.$day.">$day</a>";
5.67.};


ใช้ค่ะ ตอนนี้มันเลือกวันที่ได้แล้ว แล่ส่งค่าออกมาเป็น get
เช่นเราก็ที่เดือนนี้ วันที่ 7 ก็จะได้ เป็น 2555-09-7
แต่เมื่อเรากดเลื่อนไปเดือนหน้า และกดวันที่ 7 มันยังส่งค่า 2555-09-7 ออกมาค่ะ แทนที่มันจะเป็น 2555-10-7
ถ้าผ่านไปเดือนที่ 10 มันก็จะส่งได้เฉพาะเดือนที่ 10ส่วนเดือน 11 ก็ไม่สามารถทำได้อ่ะคะ ส่งค่าเป็นเดือนล่วงหน้าไม่ได้เลยคะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-02 15:21:48 By : plah0078
 

 

No. 3



โพสกระทู้ ( 33 )
บทความ ( 0 )



สถานะออฟไลน์


งงมาก เลย *-*
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-02 17:52:29 By : plah0078
 

 

No. 4



โพสกระทู้ ( 33 )
บทความ ( 0 )



สถานะออฟไลน์


โอเค แล้ว ค่ะ ขอบคุณที่ตอบ ค่ะ

เปลี่ยน $year , $month เป็น $cyear , $cmonth
1.if ( isset( $blog_month_array[$day] )){ //ถ้ามีเหตุการณ์จะแสดงวันที่เป้นลิงค์
2.  $date = "<a href=empPageEvent.php?dayStamp=".$cyear.'-'.$cmonth.'-'.$day.">$day</a>";
3.}else{ //แสดงวันที่ปกติให้ใส่แค่ $day
4.  $date = "<a href=empPageEvent.php?dayStamp=".$cyear.'-'.$cmonth.'-'.$day.">$day</a>";
5.};


ถามเอง ได้เองอีก ละ


ประวัติการแก้ไข
2012-09-02 18:23:01
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-02 18:22:16 By : plah0078
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ถามเรื่องการส่งค่าจากปฏิทินค่ะ มันส่งค่าได้แต่เดือน ปี ปัจจุบัน เท่านั้นค่ะ พอเราจะเลือกวันที่ในเดือนถัดไป มันก็ส่งค่าออกมาเป็นเดือนปัจจุบันอยู่ค่ะ มีใครรู้วิธีแก้ไหมคะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่