2012-09-20 7 views
8

में गतिशील रूप से लोड करना मैं डी 3 में काम करने के लिए गतिशील पुनः लोड करने की कोशिश कर रहा हूं और मुझे डेटाबेस से डेटा को रीफ्रेश करने का तरीका जानने में समस्या हो रही है।डेटाबेस से बाह्य डेटा को गतिशील रूप से d3.js

मैं एक सरणी है कि मान हैं हर दूसरे बदलना चाहिए है:

वर डेटा = [1,2,3,4];

मेरी प्रारंभिक लेख में, मैं PHP डेटा डेटाबेस से सरणी स्थापित करने के लिए खींच लिया था, और पृष्ठ पुनः लोड करने के लिए है कि ठीक काम करता है, लेकिन मैं d3 का रीलोड कार्यक्षमता का उपयोग करने के लिए नए डेटा लाने के लिए करना चाहते हैं और आरेख को दोबारा हटाएं।

मैं जेएस और डी 3 के लिए बिल्कुल नया हूं, इसलिए कोई भी सुझाव बहुत उपयोगी होगा।

मैंने बाहरी PHP स्क्रिप्ट को कॉल करने के लिए jQuery के प्राप्त कमांड का उपयोग करने का प्रयास किया जो मानों को आउटपुट करता है लेकिन ऐसा लगता है कि यह काम नहीं करता है।

मैं मूल रूप से Google Analytics रीयल टाइम डिस्प्ले से बार चार्ट को दोहराने की कोशिश कर रहा हूं।

उत्तर

1

सबसे पहले, आप एक पृष्ठ सर्वर पर की जरूरत है कि JSON प्रारूप में उत्पादन होगा डेटा *। एक बार आपके पास यह पृष्ठ हो जाने के बाद, इसे ब्राउज़र से कॉल करें, और आपको स्क्रीन पर एन्कोड किए गए डेटा को प्राप्त करना चाहिए (यह साबित करेगा कि पृष्ठ ठीक से होस्ट किया गया है और डेटा लौटा रहा है)

अगला, डी 3 दस्तावेज़ों पर सरल उदाहरण का पालन करें लिंक जो येको पोस्ट किया गया। आपको अपने नए डेटा पेज पर पते के साथ डमी यूआरएल को प्रतिस्थापित करने की आवश्यकता होगी, और नए डेटा के साथ चार्ट को फिर से निकालने के लिए वहां अपना स्वयं का फ़ंक्शन कॉल चिपकाएं।

* नोट: मैं PHP से परिचित नहीं हूं, लेकिन इसमें मूल जेएसओएन एन्कोडर होना चाहिए, या लाइब्रेरी नेट पर उपलब्ध होगी। आपको यह सुनिश्चित करने की भी आवश्यकता होगी कि आप प्रतिक्रिया माइम प्रकार को उचित रूप से सेट करें - एक त्वरित Google आपको सही माइम प्रकार देना चाहिए - यह मुझे लगता है कि 'एप्लिकेशन/जेसन' जैसा कुछ है, लेकिन मेरे सिर के शीर्ष पर याद नहीं है

+0

ठीक है, तो मैं एक अलग लिपि जो निम्नलिखित आउटपुट है: '[110.157.131.111.136]' लेकिन जब मैं d3.json इस्तेमाल करने की कोशिश मैं सिर्फ त्रुटियों मिलता है। –

+0

ठीक है, इसे बदल रहा है ताकि पूरे ड्रॉ विधि d3.json कार्यों के फ़ंक्शन के अंदर रहें। धन्यवाद! –