|
|
|
jquery ui datepicker ปฏิทินกิจกรรม ขอความช่วยเหลือในการแสดงผลแบบไม่ซ้ำซ้อน |
|
|
|
|
|
|
|
<div id="Showdata2"></div>
<script type="text/javascript" src="../js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="../js/jquery-ui-1.7.2.custom.min.js"></script>
<script type="text/javascript">
var makeEvent;
makeEvent=function(){
arguments[1]+=1;
arguments[1]=(arguments[1]<10)?"0"+arguments[1]:arguments[1];
var setDateSelect=arguments[0]+"-"+arguments[1];
$.getJSON("date_jsondata.php",{dateSelect:setDateSelect},function(data){
$.each(data,function(i,k){
var dayVal=parseInt(data[i].day)-1;
$("a.ui-state-default").eq(dayVal).css("text-decoration","underline"); // ขีดเส้นใตัวันที่มีกิจกรรม
});
});
}
var makeEvent2;
makeEvent2=function(){
arguments[1]+=1;
arguments[1]=(arguments[1]<10)?"0"+arguments[1]:arguments[1];
var setDateSelect=arguments[0]+"-"+arguments[1];
$.getJSON("date_jsondata.php",{dateSelect:setDateSelect},function(data){
$.each(data,function(i,k){
$("div#Showdata2").append(data[i].day+"-");
$("div#Showdata2").append(data[i].month+" : ");
$("div#Showdata2").append(data[i].event+"<br>");
});
});
}
$(function(){
$( "#datepicker" ).datepicker({
dateFormat: 'yy-mm-dd', // กำหนดรูปแบบวันที่ ที่ใช้เป็น 0000-00-00
onChangeMonthYear:function(year, month){
makeEvent(year,month-1);
makeEvent2(year,month-1);
},
onSelect:function(dateText){
var dateSplit=dateText.split("-");
makeEvent(dateSplit[0],dateSplit[1]-1);
// กำหนด event เมื่อมีการคลิกลิ้งค์ เลือกวันที่ ตามต้องการ
}
});
// กำหนดค่าเริ่มต้น แสดงข้อมูลเดือนปัจจุบัน
var d=new Date();
makeEvent(d.getFullYear(),d.getMonth());
});
</script>
โดยการดึงข้อมูลจาก json
Code (PHP)
<?php
header("Content-type:application/json; charset=UTF-8");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
include("config.inc.php");
//กรณีประยุกต์ใช้กับฐานข้อมูล
$q="SELECT * FROM actdate WHERE actdate_date like '".$_GET['dateSelect']."%' ";
$qr=mysql_query($q) or die ("Error Query [".$q."]");
while($rs=mysql_fetch_array($qr)){
$dateEvent[]=array(
"day"=>$rs['actdate_day'],
"event"=>$rs['actdate_data'],
"month"=>$rs['actdate_date'],
);
}
echo json_encode($dateEvent);
?>
เวลาแสดงข้อมูลที่ <div id="Showdata2"></div> เมื่อเปลี่ยนเดือนข้อมูลจะเพิ่มมากขึ้นเรื่อยๆ
แต่ต้องการให้แสดงเฉพาะข้อมูลแต่ละเดือน จะมีการลบข้อมูลเก่าออกได้อย่างไรบ้าง
หรือต้องมีกระบวนการอย่างไรบ้างคะขอความช่วยเหลือหน่อย มึนไปหมดแล้วคะ
Tag : PHP, MySQL, JavaScript, jQuery
|
|
|
|
|
|
Date :
2012-03-17 09:52:19 |
By :
แพร |
View :
1929 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าเลือกข้อมูลเดียวก็น่าจะทำที่ Query พวก GROUP BY หรือ DISTINCT น่ะครับ
|
|
|
|
|
Date :
2012-03-20 10:48:08 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือปัญหามันไม่ได้มาจากคิวรี่ซ้ำกันนะคะมันติดตรงเวลาเราแสดงผล มันจะแสดงทุกครั้งที่ิคิวรี่ ข้อมูลจะเพิ่มขึ้นเรื่อย ๆ คะ เวลาที่เปลี่ยนเดือนแล้ว ข้อมูลเก่าก็ยังแสดงอยู่ และข้อมูลใหม่ก็แสดงเพิ่มขึ้นไปอีก พอเปลี่ยนเดือนกลับมาเดือนเก่าข้อมูลที่คิวรี่ก็จะแสดงลงมาข้างล่างเรื่อยๆ ยาวแบบไม่มีที่สิ้นสุด แต่จริงๆ แล้วมันต้องเป็นแบบแสดงเดือนต่อเดือน พอเืลื่อนเดือนใหม่ข้อมูลเก่าต้องหายไป แสดงเฉพาะข้อมูลเดือนใหม่อย่างเดียว น้องแพรก็งงว่าจะแสดงค่าตรงนี้อย่างไรดี ให้ลบค่าเก่าทิ้งและให้แสดงค่าเดือนต่อเดือน ตาม code ที่ทำข้างต้น มันแสดงลงมาเรื่อยๆ ยาวแบบไม่สิ้นสุดเลยคะ ปวดหัวจัง T^T
http://www.ninenik.com/content.php?arti_id=374
อยากได้ประมาณนี้อ่ะคะ ที่เลื่อนเดือนแล้ว แสดงข้อมุลแต่ละเดือนไป จนปัญญา
|
|
|
|
|
Date :
2012-03-31 10:31:37 |
By :
แพร |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|