2009-11-03 18 views
11

में jQuery पूर्ण कैलेंडर को एकीकृत करना मैं अपनी PHP वेबसाइट में jQuery पूर्ण कैलकुलेटर को एकीकृत करना चाहता हूं, लेकिन मुझे नहीं पता कि ईवेंट को कैसे संभालना है और MySQL से JSON डेटा का उपयोग कैसे करें।PHP वेबसाइट

किसी भी सलाह की सराहना की जाएगी।

+0

क्या यह कैलेंडर है जिसका आप उल्लेख कर रहे हैं? http://www.redredred.com.au/projects/jquery-week-calendar/ – elzapp

+0

यदि यह वास्तव में जरूरी है, तो आपको आईआरसी चैनल http://blog.jquery.com/2007/02/17/the- jquery-irc-channel/... – chakrit

+11

कार्य क्यों जरूरी है तो हम क्यों परवाह करेंगे? मेरे लिए, आमतौर पर सवाल का जवाब देने के लिए यह * कारण * नहीं है। अगर आपको कुछ जल्दी करने की ज़रूरत है, तो अपने आप को कुछ सशुल्क समर्थन मिलें। – Duroth

उत्तर

14

सुनिश्चित करें कि आपके पीएचपी उत्पादन च ollowing HTML code कर सकते हैं:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
        "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
    <script src="http://code.jquery.com/jquery-latest.js"></script> 

    <script> 
    $(document).ready(function(){ 
    $('#example').calendar(); 
    }); 
    </script> 

</head> 
<body> 
    <link rel="stylesheet" href="http://dev.jquery.com/view/trunk/themes/flora/flora.all.css" type="text/css" media="screen" title="Flora (Default)"> 
<script src="http://dev.jquery.com/view/trunk/plugins/calendar/jquery-calendar.js"></script> 
<input type="text" id="example" value="Click inside me to see a calendar" style="width:300px;"/> 
</body> 
</html> 

यहाँ a sample है कि कैसे आप यह कर सकते, json_encode का उपयोग करके:

:

$(document).ready(function() { 

     $('#calendar').fullCalendar({ 
     draggable: true, 
     events: "json_events.php", 
     eventDrop: function(event, delta) { 
      alert(event.title + ' was moved ' + delta + ' days\n' + 
       '(should probably update your database)'); 
     }, 
     loading: function(bool) { 
      if (bool) $('#loading').show(); 
      else $('#loading').hide(); 
     } 
     }); 

    }); 

और यहाँ PHP कोड है

<?php 

    $year = date('Y'); 
    $month = date('m'); 

    echo json_encode(array( 

     array( 
     'id' => 1, 
     'title' => "Event1", 
     'start' => "$year-$month-10", 
     'url' => "http://yahoo.com/" 
    ), 

     array( 
     'id' => 2, 
     'title' => "Event2", 
     'start' => "$year-$month-20", 
     'end' => "$year-$month-22", 
     'url' => "http://yahoo.com/" 
    ) 

    )); 

?> 
+1

आपकी टिप्पणी के लिए बहुत बहुत धन्यवाद। लेकिन मुझे लगता है कि आपको कुछ गलतफहमी है या मैंने इसे स्पष्ट रूप से वर्णित नहीं किया है। मैं jquery weekcalendar प्लगइन जोड़ना चाहता हूं और इसके लिए एक नमूना है। सब कुछ सत्र में है।लेकिन मैं इसे mysql डेटाबेस के साथ काम करना चाहता हूं। बहुत बहुत धन्यवाद !!!!!!! सर्वर पर निर्भर करता है कि –

+0

सुनिश्चित करें कि आपके पास 'date_default_timezone_set ('America/YOUR_TZ') है;' तारीख (XXX) 'कॉल – roberthuttinger

0

मैं jquery से परिचित नहीं हूं। लेकिन मैं सोचता हूं समस्या यह है कि आप अजाक्स की असीमित प्रकृति को ध्यान में नहीं ले रहे हैं।

जब तक पूर्ण कैलेंडर() कुछ अजीब नहीं करता है (अजाक्स अनुरोध को बंद कर देता है और प्रतिक्रिया के लिए इंतजार कर रहा है), तो आप इस तरह से फ़ंक्शन में बाहरी स्रोत का उपयोग करने में सक्षम नहीं होंगे, क्योंकि पूर्ण कैलेंडर द्वारा चलना समाप्त हो जाएगा उस समय एक प्रतिक्रिया सर्वर से वापस आती है।

सप्ताह कैलेंडर वेबपृष्ठ पर आप जो करने की कोशिश कर रहे हैं उसका एक स्पष्ट उदाहरण प्रतीत नहीं होता है, लेकिन मुझे यकीन है कि आपको जो कुछ भी चाहिए, वह ईवेंट के बिना कैलेंडर बनाना है, लेकिन जोड़ने के लिए परिभाषित कॉलबैक के साथ आयोजन; और फिर किसी भी तरह से बाहरी कॉल से आग लगाना।

+0

आपकी पोस्ट के लिए धन्यवाद। आपने मेरी समस्या का संकेत दिया है। दरअसल, मैं घटनाओं को जोड़/संपादित/हटा नहीं सकता और जेसन के रास्ते में mysql से डेटा नहीं ले सकता। मैं इसे व्यवस्थित करने और हल करने की कोशिश करूंगा। और धन्यवाद। –

0

मुझे लगता है कि आपके पास वही समस्या है जो मेरे पास है। मैंने डेटटाइम को सेटअप करने का तरीका जानने के लिए वेब पर खोज की है ताकि पूर्ण कैलेंडर जावास्क्रिप्ट इसे सही तरीके से समझ सके। (इस पृष्ठ पर कुछ अच्छे संकेत थे: http://blog.stevenlevithan.com/archives/date-time-format)।

मैंने इसे पूर्ण कैलेंडर प्रबंधक पृष्ठ पर पोस्ट किया है यह उम्मीद करते हुए कि निर्माता या कोई और इस विषय पर कुछ प्रकाश डालेगा।

==================== अंक वर्णन ====================

कौन सा कदम फिर से समस्या पैदा कर देगा?

  1. JSON
  2. उपयोग का उपयोग करके ईवेंट लायें इस JSON स्ट्रिंग:

 

[{"id":2, "title":"title of 2","start":"2009-11-17T10:00:00" ,"end":"2009-11-17T11:01:00","url":"?eventID=2"}] 

उम्मीद उत्पादन क्या है? इसके बजाय आप क्या देखते हैं?

  • मुझे उम्मीद है कि यह ईवेंट कैलेंडर में शुरुआती समय 10:00 और समाप्ति समय 11:01 के साथ दिखाई देगा।
  • यह पूरे दिन की घटना के रूप में दिखाई देता है।

आप किस उत्पाद का उपयोग कर रहे हैं? किस ऑपरेटिंग सिस्टम पर?

  • पूर्ण कैलेंडर v1.4।1
  • Windows XP

नीचे किसी भी अतिरिक्त जानकारी प्रदान करें।

मैं कैलेंडर ईवेंट लाने के लिए एएसपीएक्स पेज का उपयोग कर रहा हूं। मेरा अनुमान है कुछ जावास्क्रिप्ट DateTime वस्तु कि मैं JSON में लौटने कर रहा हूँ के प्रारूप के साथ गलत है नहीं है और यह है कि fullcalendar को fullDayEvents के रूप में घटनाओं की व्याख्या हो रही है। प्रारूप जो मैं JSON में भेज रहा हूं वह है: 2009-11-17T11:01:00

3

मुझे एक ही समस्या थी और यह पता चला कि इसे कैसे काम करना है।

$query = "select * from events where accountNo = '$accountNo'"; 
$res = mysql_query($query) or die(mysql_error()); 
$events = array(); 
while ($row = mysql_fetch_assoc($res)) { 
    $start = "2010-01-08T08:30"";//Here you have to format data from DB like this. 
    $end = "2010-01-08T08:30";//This format works fine 
    $title = $row['firstName']." ".$row['lastName']; 
    $eventsArray['id'] = $row['id']; 
    $eventsArray['title'] = $title; 
    $eventsArray['start'] = $start; 
    $eventsArray['end'] = $end; 
    $eventsArray['allDay'] = ""; 
    $events[] = $eventsArray; 
} 


echo json_encode($events); 

मुझे आशा है कि यह मदद करता है :): यहाँ कोड है कि आप अपने php फ़ाइल में उपयोग करना चाहिए है।

9

"2010-02-11 11:00:00" प्रारूप मेरे लिए समय निर्दिष्ट करने के लिए ठीक काम करता है (बिना "टी" के अंदर), समाधान की कुंजी किसी ईवेंट की "ऑलडे" विशेषता सेट करना है खाली स्ट्रिंग।

+0

ओह धन्यवाद दोस्त यह मुझे बचाता है – chhameed

0

अरे, मैं अपने कोड ऊपर उपयोग नहीं किया है, लेकिन json_events.php डिफ़ॉल्ट से एक में, वहाँ है "[" php उत्पादन और की शुरुआत में "]" अंत पर।

0

इस उदाहरण काम करता है:

$sql= "SELECT id, title, start, DATE_FORMAT(start, '%Y-%m-%dT%H:%i') AS startDate 
FROM kalender 
ORDER BY startDate DESC"; 
$res = mysql_db_query($db, $sql, $conn) or die(mysql_error()); 

$events = array(); 
//important ! $start = "2010-05-10T08:30"; iso8601 format !! 
while ($row = mysql_fetch_assoc($res)) { 
    $eventArray['id'] = $row['id']; 
    $eventArray['title'] = $row['title']; 
    $eventArray['start'] = $row['startDate']; 
    $events[] = $eventArray; 
} 
echo json_encode($events); 
1

उत्पादन एक घटना प्रतिध्वनित करने के लिए इस प्रारूप में होना चाहिए:

$('#calendar').fullCalendar({ 
    events: [{ 
    title: 'Awesome Event Title', 
    start: new Date($start_year, $start_month, $start_day),  or end: new Date(y, m, d), 
    end: new Date($end_year, $end_month, $end_day) or end: new Date(y, m, d) 
    }] 
}); 
1

यह इस तरह से लागू करने और यह ठीक काम करता है

$result = mysql_query("SELECT * FROM eventoform",$conexion); 
     $array = array(); 
     $i = 0; 
     while ($row = mysql_fetch_array($result)) { 
      $array[$i]=array("id"=>$row["id_evento"],"title"=>$row["NombreEvento"],"start"=>$row["FechaInicio"]." ".$row["HoraInicio"],"allDay"=>false,"description"=>$row["description"],"editable"=>true); 
      $i++; 
     } 

echo json_encode($array); 
3

में PHP - JSON:

$eventsArray['allDay'] = "false"; //doesn't work 

$eventsArray['allDay'] = false; //did the trick to have a NON FULL DAY correctly rendered!! 
0

सिर्फ मामले में JBuilder साथ रेल का उपयोग कर JSON फ़ीड उत्पन्न करने के लिए ... आप करने के लिए है जोड़ने allday विशेषता कोई ...

json.array!(@resubmissions) do |object| 
    json.id object.id 
    json.title "WVL - #{object.to_s}" 
    json.start object.resubmission_at.to_i 
    json.allDay false 
end 

लेकिन वहाँ है, पीएचपी समाधान के लिए धन्यवाद!

संबंधित मुद्दे