Ko'pgina hollarda, ma'lumotlarning grafik taqdimoti ma'lum bir vaziyatda eng mos keladi. Agar diagrammalar ham interaktiv bo'lsa, bu juda zo'r! Nima demoqchiman? Diagramma elementini bosish boshqa diagrammani ochadi.
Bog'langan diagrammalar nima?
Shu paytgacha bunday diagrammalar faqat bitta ma'lumotlar oqimiga to'g'ri kelgan va bir-biri bilan to'liq bog'lanmagan. Agar biz oldinga va orqaga harakat qilishimiz mumkin bo'lgan diagrammalar tuzsak nima bo'ladi? Bu diagrammalar bog‘langan diagrammalar deb ataladi va yangi FusionCharts 3.2 paketining bir qismi bo‘lib, bir manbadan ko‘p darajali diagrammalarni yaratish imkonini beradi. Bunday diagrammalarda hamma narsa bir-biri bilan bog'liq.
Ushbu qo'llanmada biz bunday diagrammalarni kichik loyihaga birlashtirishni ko'rib chiqamiz. Baza MySQL ma'lumotlari ma'lumotlarni o'z ichiga oladi, PHP elim yaratish vazifasini bajaradi XML fayl, FusionCharts ushbu faylni qabul qiladi va ma'lumotlarni chiqaradi.
Bog'langan diagrammalar haqida bir necha so'z:
- Odatiy bo'lib, asosiy diagramma ota-ona bilan bir xil ko'rinishga ega (masalan, ustunli diagrammalar);
- Qo'shimcha sozlamalar ierarxiyaning istalgan darajasiga, jumladan, diagramma turining o'ziga qo'shilishi mumkin;
- Diagrammalar HTML konteynerlarida, jQuey dialoglarida, layt qutilarida, extJS oynalarida va hokazolarda joylashtirilishi mumkin;
- Voqealar uchun JavaScript-ni qo'llab-quvvatlash;
Biz nima qilmoqchimiz?
Ko'p marta biz saytlarimizga tashrif buyuruvchilarning o'sishini kuzatish vazifasiga duch keldik. Shunday qilib, keling, bir oy/kun/soatda ro'yxatdan o'tgan foydalanuvchilar sonini yoki boshqacha qilib aytganda, ma'lum vaqt oralig'ida saytimizda ro'yxatdan o'tgan foydalanuvchilar sonini ko'rsatadigan kichik loyiha yarataylik.
Talablar:
- PHP bilan har qanday veb-server;
- Ma'lumotlar bazasi bilan MySQL serveri;
- Ularning veb-saytidan yuklab olishingiz yoki sotib olishingiz mumkin bo'lgan FusionCharts;
0-bosqich. Tayyorgarlik
Fctutorials deb nomlangan bo'sh ma'lumotlar bazasini yarating.
Veb-serveringizning ildizida fcdemo deb nomlangan bo'sh papka yarating (odatda www)
Qadam 1. Ma'lumotlar bazasini tayyorlang
Oddiy bo'lishi uchun biz faqat bitta foydalanuvchilar jadvalidan foydalanamiz, unda foydalanuvchilar haqidagi ma'lumotlar ko'rsatiladi. Bizni faqat foydalanuvchilarning ro'yxatdan o'tish vaqti qiziqtiradi. Shunday qilib, bizning jadvalimiz faqat ushbu ma'lumotlarni o'z ichiga oladi. Ushbu kodni phpMyAdmin-ga joylashtiring:
JADVAL YARATISH `foydalanuvchilar` (` ID` int (10) unsigned NO NULL AUTO_INCREMENT, `Time` vaqt tamg`asi NOT NULL DEFAULT" 0000-00-00 00:00:00 ", BIRINCHI KEY (` ID`), KEY `Vaqt` (`Vaqt`))
Biz ikkita maydonni o'z ichiga olgan jadval yaratdik: ID va vaqt. Vaqt foydalanuvchini ro'yxatdan o'tkazish vaqti haqida ma'lumotni o'z ichiga oladi. E'tibor bering, biz ushbu maydonga indeks qo'yganmiz, chunki biz ko'p WHERE bandlaridan foydalanamiz. Indeks bizga namuna olish jarayonini tezlashtirishga imkon beradi.
Bazaga ulanish
Keling, ma'lumotlar bazasiga ulanish uchun kichik skript yozamiz:
Sozlamalarni o'zingizniki bilan almashtiring va ushbu faylni fcdemo papkasida connect-to-database.php nomi ostida saqlang.
Tasodifiy ma'lumotlarni kiriting
Agar bu haqiqiy loyiha bo'lsa, foydalanuvchilar jadvali vaqt o'tishi bilan o'sib boradi, ammo namoyish qilish uchun biz ba'zi ma'lumotlarni kiritishimiz kerak. Keling, jadvalga tasodifiy ma'lumotlarni kiritadigan kichik skript yozaylik. Quyidagi kodni tushunmasangiz, tashvishlanmang - bu qo‘llanma uchun muhim emas.
Genere-random-data.php deb nomlangan ushbu faylni barchasini bitta papkada saqlang.
Birinchidan, biz ma'lumotlar bazasiga ulanish faylini qo'shamiz. Keyin biz foydalanuvchini ro'yxatdan o'tkazish vaqti tasodifiy tanlanadigan vaqt oralig'ini belgilaymiz. Siz kiritilgan qatorlar sonini o'zgartirishingiz mumkin. Buning uchun $ RecordsToInsert o'zgaruvchisini sozlashingiz kerak.
Keyin yaratilgan yozuvlarni ma'lumotlar bazasiga kiritish uchun skriptni ishga tushiramiz. Ushbu jarayonni boshlash uchun ushbu manzilga o'ting - http: //localhost/fcdemo/generate-random-data.php.
Oxir-oqibat siz xabarni ko'rishingiz kerak: "($ RecordsToInsert) Yozuvlar kiritilgan"
Qadam 2. Sayt skeletini tayyorlash
Biz eng ko'p yaratishimiz kerak oddiy sahifa diagramamizni ko'rsatish uchun. Shunga o'xshash narsa: