|
|
ถามเรื่องการส่งค่าจากปฏิทินค่ะ มันส่งค่าได้แต่เดือน ปี ปัจจุบัน เท่านั้นค่ะ พอเราจะเลือกวันที่ในเดือนถัดไป มันก็ส่งค่าออกมาเป็นเดือนปัจจุบันอยู่ค่ะ มีใครรู้วิธีแก้ไหมคะ |
|
|
|
|
|
|
|
ตอนนี้ลองฝึกทำปฏิทินเหตุการณ์ ไปก๊อบมาจากเว็บหนึ่งค่ะ
แต่พอเอามาลองทำดู มันจะส่งค่า วัน เดือน ปี ออกมาแต่ติดที่ มันส่งค่าได้แต่เดือน ปี ปัจจุบัน เท่านั้นค่ะ
พอเราจะเลือกวันที่ในเดือนถัดไป มันก็ส่งค่าออกมาเป็นเดือนปัจจุบันอยู่ค่ะ มีใครรู้วิธีแก้ไหมคะ ขอบคุณล่วงหน้าค่ะ
mainCalendar.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="css/empSmallCalendar.css" type="text/css" />
<script type="text/javascript" src="js/empSmallCalendar.js"></script>
<title>test</title>
</head>
<body onLoad="loadcalendar('<?="m=".$_GET[m]."&y=".$_GET[y]?>')">
<div align="center" id="empSmallCalendar">กำลังโหลด...</div>
</body>
</html>
empSmallCalendar.php
<?php
header( "Expires: Sat, 1 Jan 2005 00:00:00 GMT" );
header( "Last-Modified: ".gmdate( "D, d M Y H:i:s" )."GMT" );
header( "Cache-Control: no-cache, must-revalidate" );
header( "Pragma: no-cache" );
header( "content-type: application/x-javascript; charset=UTF-8" );
//ปรับเวลาให้ตรงกับเวลาเมืองไทย กรณีที่ server อยู่ที่เมืองนอก โดยความสำคัญอยู่ที่ตัวแปร $hour และ $min
$hour = +0; //ปรับให้ตรงตามต้องการ เช่น เป็นค่าบวก หรือค่าลบ เพื่อให้เวลาของ server ตรงกับเวลาจริง
$min = 0; //ปรับให้ตรงตามต้องการ
$thaimonth = array( "มค." , "กพ." , "มีค." , "เมย." , "พค." , "มิย." , "กค." , "สค." , "กย." , "ตค." , "พย." , "ธค." );
$fullthaimonth = array( "มกราคม" , "กุมภาพันธ์" , "มีนาคม" , "เมษายน" , "พฤษภาคม" , "มิถุนายน" , "กรกฎาคม" , "สิงหาคม" , "กันยายน" , "ตุลาคม" , "พฤศจิกายน" , "ธันวาคม" );
//เวลา mmktime
$mmktime = mktime( date( "H" ) + $hour, date( "i" ) + $min );
$year = date( 'Y' , $mmktime ) + 543; //ปีปัจจุบัน ปี พศ. +543
$cyear = ( (int)$_POST[y] != 0 ) ? $_POST[y] : $year; //ปีในปฏิทิน ค่าที่ส่งมาเป็นปี พศ.
$month = date( 'm' , $mmktime ); //เดือนปัจจุบัน
$cmonth = ( (int)$_POST[m] != 0 ) ? $_POST[m] : $month; //เดือนในปฏิทิน ค่าที่ส่งมา 1=มกรา,12=ธันวาคม
$mkdate = mktime( 0 , 0 , 0 , $cmonth , 1 , $cyear - 543 ); //คำนวณวันแรกของเดือนนี้ (คำนวณเป็น ปีคศ.)
$weekday = date( 'w' , $mkdate );
$last_days = date( 't' , $mkdate );
$day = 1;
$nmonth = ( $cmonth < 12 ) ? 'm='.( $cmonth + 1 ).'&y='.$cyear : 'm=1&y='.( $cyear + 1 );
$bmonth = ( $cmonth > 1 ) ? 'm='.( $cmonth - 1 ).'&y='.$cyear : 'm=12&y='.( $cyear - 1 );
//อ่านอีเวนต์ ถ้ามีอีเว้นต์
//ถ้ามีอีเวนต์ รายการวันที่นั้นๆจะเป็นลิงค์
//ตัวอย่างนี้เป็นการแสดงอีเวนต์เหตุการณ์ของ GBlog
//$sql = "SELECT `id`,DAY(`create`) as date FROM `$db_blogs` ";
//$sql .= "WHERE `userid`='$user' AND MONTH(`create`)='$cmonth' AND YEAR(`create`)=".$cyear.";";
//$query = @mysql_query( $sql );
//$rows = @mysql_num_rows( $query );
//$blog_month_array = array(); //แอเรย์เก็บข้อมูล id ตามวันที่
//เอาข้อมูลอีเว้นต์ในเดือนใส่ลง array $blog_month_array ตามวันที่
//for ( $i = 0 ; $i < $rows ; $i++ )
//{
// $result = @mysql_fetch_array( $query );
// $blog_month_array[$result[date]] = $result [id];
//};
?>
<table cellpadding="0" cellspacing="0" class="empSmallCalendar">
<tr>
<th><a href="?<?=$bmonth?>" title="เดือนก่อน" onclick="loadcalendar('<?=$bmonth?>');return false"><<</a></th>
<th colspan="5"><?=$fullthaimonth[$cmonth - 1]." ".$cyear?></th>
<th><a href="?<?=$nmonth?>" title="เดือนถัดไป" onclick="loadcalendar('<?=$nmonth?>');return false">>></a></th>
</tr>
<tr>
<th>อา.</th>
<th>จ.</th>
<th>อ.</th>
<th>พ.</th>
<th>พฤ.</th>
<th>ศ.</th>
<th>ส.</th>
</tr>
<tr>
<?
$start = 1;
while( $start <= $weekday ){
echo "<td> </td>";
$start++;
}
$weekday++;
while( $day <= $last_days ){
if ( isset( $blog_month_array[$day] )){ //ถ้ามีเหตุการณ์จะแสดงวันที่เป้นลิงค์
$date = "<a href=empPageEvent.php?dayStamp=".$year.'-'.$month.'-'.$day.">$day</a>";
}else{ //แสดงวันที่ปกติให้ใส่แค่ $day
$date = "<a href=empPageEvent.php?dayStamp=".$year.'-'.$month.'-'.$day.">$day</a>";
};
if( date( 'j' ) == $day && $month == $cmonth && $year == $cyear ){ //วัน-เดือน-ปี ปัจจุบัน
echo "<td class='today'>$date</td>";
}else{ //วันอื่นๆ
echo "<td>$date</td>";
}
if( $weekday == 7 && $day != $last_days ){
echo '</tr><tr>';
$weekday = 0;
}
$day++;
$weekday++;
}
while( $weekday <= 7 ){
echo "<td> </td>";
$weekday++;
}
?>
</tr>
</table>
empSmallCalendar.js
function Inint_AJAX(){
try{
return new ActiveXObject( "Msxml2.XMLHTTP" ); //IE
}catch( e ){
}try{
return new ActiveXObject( "Microsoft.XMLHTTP" ); //IE
}catch( e )
{
}try{
return new XMLHttpRequest(); //Native Javascript
}catch( e ){
}
alert( "XMLHttpRequest not supported" );
return null;
};
function loadcalendar( query ){
var req = Inint_AJAX();
req.open( "POST" , "empSmallCalendar.php" , true );
req.onreadystatechange = function(){
if ( req.readyState == 4 ){
if ( req.status == 200 ){
document.getElementById( 'empSmallCalendar' ).innerHTML = req.responseText;
};
};
};
req.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
req.send( query );
};
อันนี้หน้ารับข้อมูลค่ะ
<?php
$q=$_GET["dayStamp"]; //เอาค่าไปไว้ใน $q
echo $_GET[dayStamp]; //ลองแสดงค่าที่รับมาดูค่ะ
?>
Tag : HTML/CSS, Ajax
|
ประวัติการแก้ไข 2012-09-02 15:28:38
|
|
|
|
|
Date :
2012-09-02 07:09:28 |
By :
plah0078 |
View :
1211 |
Reply :
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จะทำอะไรครับเนี้ย ดูมันลกๆ จัง
จะทำให้สามารถเลือกวันที่ได้ใช่ไหมเนี้ย เราหาช่องสำหรับรับข้อมูลไม่เจอแฮะที่เห็นมีแต่ให้แสดงข้อมูลวันที่ปัจจุบันน่ะ
|
|
|
|
|
Date :
2012-09-02 14:32:20 |
By :
บังเอิญผ่านมาเห็น |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
งงมาก เลย *-*
|
|
|
|
|
Date :
2012-09-02 17:52:29 |
By :
plah0078 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โอเค แล้ว ค่ะ ขอบคุณที่ตอบ ค่ะ
เปลี่ยน $year , $month เป็น $cyear , $cmonth
if ( isset( $blog_month_array[$day] )){ //ถ้ามีเหตุการณ์จะแสดงวันที่เป้นลิงค์
$date = "<a href=empPageEvent.php?dayStamp=".$cyear.'-'.$cmonth.'-'.$day.">$day</a>";
}else{ //แสดงวันที่ปกติให้ใส่แค่ $day
$date = "<a href=empPageEvent.php?dayStamp=".$cyear.'-'.$cmonth.'-'.$day.">$day</a>";
};
ถามเอง ได้เองอีก ละ
|
ประวัติการแก้ไข 2012-09-02 18:23:01
|
|
|
|
Date :
2012-09-02 18:22:16 |
By :
plah0078 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|