इस PHP प्रोजेक्ट में , हम एक जनमत सर्वेक्षण एप्लिकेशन बनाने जा रहे हैं।
जनमत सर्वेक्षण में 3 प्रमुख घटक शामिल होंगे;
फ्रंट कंट्रोलर - यह इंडेक्स पेज है जो लोड किए जाने वाले HTML कोड को निर्धारित करेगा। यह सुनिश्चित करेगा कि हमारे आवेदन में एक ही प्रवेश बिंदु है। इससे हमें एप्लिकेशन पर अधिक नियंत्रण मिलेगा।
Business Logic - इसमें डेटाबेस के साथ इंटरैक्ट करने के लिए PHP कोड होगा। यह हमें व्यावसायिक तर्क को प्रस्तुति से अलग करने की अनुमति देगा, जिससे हमारे आवेदन को बनाए रखना आसान हो जाएगा
दृश्य - इसमें HTML कोड होगा। हमारे पास दो पृष्ठ होंगे;
- opinion.html.php - इसमें प्रश्न और विकल्प के साथ HTML कोड होगा
- results.html.php - इसमें HTML कोड होगा जो ओपिनियन पोल परिणामों को प्रदर्शित करता है
मान लिया
जनमत सर्वेक्षण प्रश्न पूछेगा -
आपकी पसंदीदा जावास्क्रिप्ट लाइब्रेरी क्या है?
उत्तर होगा
- jQuery
- Mootools
- YUI लाइब्रेरी
- चमक
यहां एप्लिकेशन बनाने के लिए चरण दिए गए हैं -
चरण 1) डेटाबेस कनेक्टिविटी
यह खंड MySQL के ज्ञान को मानता है और इसे कैसे प्रबंधित करें, यदि आप इन MySQL से परिचित नहीं हैं, तो हमारे SQL ट्यूटोरियल अनुभाग की जाँच करें।
हमारे आवेदन में केवल 3 क्षेत्रों के साथ एक तालिका होगी;
- आईडी - प्राथमिक कुंजी के रूप में ऑटो-जनरेट संख्या
- पसंद - राष्ट्रपति उम्मीदवार का प्रतिनिधित्व करने वाली संख्या
- ts - वोट के लिए टाइमस्टैम्प
नीचे दी गई स्क्रिप्ट हमारी js_lbooks तालिका बनाती है।
चरण 2) हमारे आवेदन कोडिंग
आइए अब हमारी व्यावसायिक तर्क परत बनाएं जो डेटाबेस कनेक्टिविटी को हैंडल करेगी। '
db_handle = mysqli_connect($this->host, $this->uid, $this->pwd); //connect to MySQL serverif (!$this->db_handle) die("Unable to connect to MySQL: " . mysqli_error());if (!mysqli_select_db($this->db_handle,$this->db)) die("Unable to select database: " . mysqli_error());}private function execute_query($sql_stmt) {$result = mysqli_query($db_handle,$sql_stmt); //execute SQL statementreturn !$result ? FALSE : TRUE;}public function select($sql_stmt) {$result = mysqli_query($db_handle,$sql_stmt);if (!$result) die("Database access failed: " . mysqli_error());$rows = mysqli_num_rows($result);$data = array();if ($rows) {while ($row = mysqli_fetch_array($result)) {$data = $row;}}return $data;}public function insert($sql_stmt) {return $this->execute_query($sql_stmt);}public function __destruct(){mysqli_close($this->db_handle);}}?>
यहां,
- "सार्वजनिक कार्य __construct ()" वर्ग निर्माण विधि है जिसका उपयोग डेटाबेस कनेक्शन को स्थापित करने के लिए किया जाता है
- "सार्वजनिक फ़ंक्शन execute_query (...)" आवेषण, अद्यतन और हटाने जैसे प्रश्नों को निष्पादित करने की विधि है
- "सार्वजनिक फ़ंक्शन का चयन" डेटाबेस से डेटा प्राप्त करने और एक संख्यात्मक सरणी वापस करने की विधि है।
- "सार्वजनिक फ़ंक्शन इंसर्ट (…)" इन्सर्ट विधि है जो एक्जीक्यूट_क्वारी पद्धति को कॉल करती है।
- "सार्वजनिक कार्य __destruct ()" वर्ग विध्वंसक है जो डेटाबेस कनेक्शन को बंद कर देता है।
चलिए अब फ्रंट कंट्रोलर इंडेक्स बनाते हैं
alert('You did not vote!');";}if (count($_POST) > 1) {$ts = date("Y-m-d H:i:s");$option = $_POST['vote'][0];$sql_stmt = "INSERT INTO js_libraries (`choice`,`ts`) VALUES ($option,'$ts')";$model->insert($sql_stmt);$sql_stmt = "SELECT COUNT(choice) choices_count FROM js_libraries;";$choices_count = $model->select($sql_stmt);$libraries = array("", "JQuery", "MooTools", "YUI Library", "Glow");$table_rows = '';for ($i = 1; $i < 5; $i++) {$sql_stmt = "SELECT COUNT(choice) choices_count FROM js_libraries WHERE choice = $i;";$result = $model->select($sql_stmt);$table_rows .= "";}require 'results.html.php';exit;}require 'opinion.html.php';?> " . $ libraries [$i] . " Got: " . $result[0] . " votes
यहां,
- "की आवश्यकता है ' व्यवसाय तर्क वर्ग को लोड करता है
- "$ मॉडल = नया Opinion_poll_model ();" व्यावसायिक तर्क वर्ग का एक उदाहरण बनाता है
- "अगर (गणना ($ _ POST) == 1) ..." डेटा सत्यापन करता है और उम्मीदवार को वोट नहीं दिया गया है तो एक संदेश बॉक्स प्रदर्शित करने के लिए जावास्क्रिप्ट का उपयोग करता है।
- "अगर (गिनती ($ _ POST)> 1) ..." जाँचता है कि क्या $ _POST सरणी में आइटमों की संख्या की गणना करके एक वोट का चयन किया गया है। यदि कोई आइटम का चयन नहीं किया गया है, तो $ _POST में केवल प्रस्तुत आइटम होगा। यदि कोई उम्मीदवार चुना गया है, तो $ _POST सरणी में दो तत्व होंगे, सबमिट करें और वोट करें। इस कोड का उपयोग एक नया वोट रिकॉर्ड डालने और फिर परिणाम पृष्ठ प्रदर्शित करने के लिए भी किया जाता है
- "बाहर जाएं;" परिणाम प्रदर्शित होने के बाद स्क्रिप्ट निष्पादन को समाप्त करने के लिए उपयोग किया जाता है, ताकि जनमत सर्वेक्षण प्रपत्र प्रदर्शित न हो।
- "की आवश्यकता है ' यदि कुछ नहीं चुना गया है, तो जनमत सर्वेक्षण प्रपत्र प्रदर्शित करता है।
आइए अब विचार बनाते हैं। राय। html
JavaScript Libraries - Opinion Poll JavaScript Libraries - Opinion Poll
What is your favorite JavaScript?
results.html.php
JavaScript Libraries Poll Results Opinion Poll Results
What is your favorite JavaScript Library?
people have thus far taken part in this poll:
चरण 3) हमारे आवेदन का परीक्षण
मान लिया गया है कि आपने ओपिनियन फोल्डर की फाइलों को सेव किया है, URL को ब्राउज़ करें http: // localhost / opinionpoll /
यदि आप जेएस लाइब्रेरी का चयन किए बिना ओके बटन पर क्लिक करते हैं, तो आपको निम्न संदेश बॉक्स मिलेगा।
एक JS लाइब्रेरी सिलेक्ट करें फिर OK बटन पर क्लिक करें। आपको नीचे दिखाए गए के समान परिणाम पृष्ठ मिलेगा।
सारांश
- अपने एप्लिकेशन को व्यावसायिक तर्क में विभाजित करना, फ्रंट कंट्रोलर व्यू लेयर एक अच्छा एप्लिकेशन डिज़ाइन अभ्यास है
- क्लाइंट-साइड सत्यापन करने के लिए जावास्क्रिप्ट उपयोगी है
- यह उन HTML के लिए file.html.php का उपयोग करने के लिए एक अच्छा प्रोग्रामिंग अभ्यास है जिसमें HTML और PHP दोनों कोड हैं
- जनमत सर्वेक्षण आवेदन दर्शाता है कि पिछले पाठों में सीखा गया ज्ञान एक डेटाबेस बैक एंड के साथ एक कामकाजी अनुप्रयोग विकसित करने के लिए एक साथ कैसे रखा जा सकता है।