⊗ppPmSDRSP 446 of 447 menu

PHP इंजन में रूट्स में कई पैरामीटर

अब मान लीजिए कि हमारी वेबसाइट पर श्रेणियाँ हैं और पृष्ठ जो इन श्रेणियों से संबंधित हैं। आइए श्रेणियों के साथ एक तालिका बनाएं:

categories
id slug name
1 first-category name1
2 second-category name2

और पृष्ठों के साथ एक तालिका:

pages
id slug title content category_id
1 my-first-page title1 <div> content1 </div> 1
2 my-second-page title2 <div> content2 </div> 1
3 my-third-page title3 <div> content3 </div> 2

हम अपनी वेबसाइट पर अनुमति देते हैं कि स्लग विभिन्न श्रेणियों के पृष्ठ मेल खा सकते हैं। इसका मतलब है कि URL में हमें पहले श्रेणी का स्लग निर्दिष्ट करना होगा, और फिर पृष्ठ का स्लग इस योजना के अनुसार: /page/:category/:page, जहाँ कोलन द्वारा उन स्थानों को इंगित किया गया है जहाँ परिवर्तनशील पैरामीटर होंगे।

आइए हमारी वेबसाइट के लिए रूट्स लिखें:

<?php $route = '^/page/(?<catSlug>[a-z0-9_-]+)/(?<pageSlug>[a-z0-9_-]+) ; if (preg_match("#$route#", $url, $params)) { $page = include 'view/page/show.php'; } $route = '^/page/(?<catSlug>[a-z0-9_-]+) ; if (preg_match("#$route#", $url, $params)) { $page = include 'view/page/category.php'; } $route = '^/ ; if (preg_match("#$route#", $url, $params)) { $page = include 'view/page/all.php'; } ?>

पहले रूट के हैंडलर में हम अनुरोधित पृष्ठ दिखाएंगे:

<?php $catSlug = $params['catSlug']; $pageSlug = $params['pageSlug']; $query = "SELECT pages.title, pages.content FROM pages LEFT JOIN category ON category.id=pages.category_id WHERE pages.slug='$pageSlug' AND category.slug='$catSlug'"; $res = mysqli_query($link, $query) or die(mysqli_error($link)); $page = mysqli_fetch_assoc($res); return $page; ?>

दूसरे रूट के हैंडलर में हम निर्दिष्ट श्रेणी के पृष्ठों की सूची दिखाएंगे:

<?php $catSlug = $params['catSlug']; $query = "SELECT pages.slug, pages.title FROM pages LEFT JOIN category ON category.id=pages.category_id WHERE category.slug='$catSlug'"; $res = mysqli_query($link, $query) or die(mysqli_error($link)); for ($data = []; $row = mysqli_fetch_assoc($res); $data[] = $row); $content = ''; foreach ($data as $page) { $content .= ' <div> <a href="/page/' . $catSlug . '/' . $page['slug'] . '">' . $page['title'] . '</a> </div> '; } $page = [ 'title' => 'श्रेणी के सभी पृष्ठों की सूची ' . $catSlug, 'content' => $content ]; return $page; ?>

मान लीजिए आपके पास शहरों और देशों वाली एक वेबसाइट है। मान लीजिए पते / पर सभी देशों की सूची दिखाई जाती है, पते /:country पर पैरामीटर में निर्दिष्ट देश के शहरों की सूची दिखाई जाती है, और पते /:country/:city पर निर्दिष्ट शहर का विवरण दिखाया जाता है।

हिन्दी
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
हम साइट के कार्य, विश्लेषण और व्यक्तिगतकरण के लिए कुकीज़ का उपयोग करते हैं। डेटा प्रसंस्करण गोपनीयता नीति के अनुसार किया जाता है।
सभी स्वीकार करें कॉन्फ़िगर करें अस्वीकार करें