Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

मुझे इस 3 स्तरीय गतिशील ड्रॉपडाउन को समाप्त करने में सहायता चाहिए

मैं वास्तव में आपकी समस्या को समझ नहीं पा रहा हूं? आप मूल रूप से पूछ रहे हैं कि ठीक वैसा ही कैसे किया जाए जैसा अब आप क्षेत्रों के लिए फिर से शहरों के लिए कर रहे हैं?

जैसे कोई शहर बनानाAjax.php:

<?php require_once 'core/init.php';

$region_id  =  escape(Input::get('region'));

$select_city = DB::getInstance()->get('citys', array('regionId', '=', $region_id));

    if(!$select_city->count()) {

        echo 'No City found!';

    } else {

    ?><select name="city" id="city"><?php   

        foreach($select_city->results() as $row) {

            $city_id          =   escape($row->cityId);
            $city_name        =   escape($row->cityName);

        ?><option value="<?php echo $city_id; ?>" ><?php echo $city_name; ?></option><?php

        }
    ?></select><?php        
    }

मुझे खेद है, लेकिन आपका प्रश्न वास्तव में समझ में नहीं आता...

अपडेट करें:

आह, मुझे लगता है कि मैं आपकी समस्या को समझता हूं। आप समझ नहीं पा रहे हैं कि जनरेट किए गए क्षेत्रों के चयन को शहर के अनुभाग को कैसे लोड होने दिया जाए।

ठीक है, आप इसे इस तरह कर सकते हैं:

  • जैसा कि आगे उल्लेख किया गया है, आपको पहले शहरों को पुनः प्राप्त करने के तर्क के लिए एक नया AJAX.php बनाना होगा। एक फ़ाइल से सभी को संभालना अच्छा होगा, लेकिन चीजों को सरल रखने के लिए हम बस दूसरी php फ़ाइल के साथ जाएंगे।

  • आपको अपनी आधार html फ़ाइल को विस्तारित करने और शहरों के लिए प्लेसहोल्डर जोड़ने की भी आवश्यकता होगी:

    ...क्षेत्र--राज्य चुनें---

    <label for="cat">Cities</label>
    <div id="citydiv">
        <select name="city" id="city">
        <option>--Select State--</option>
        <option></option>
    </div>
    

    ...

  • इस नए प्लेसहोल्डर को पॉप्युलेट करने के लिए आपको एक जावास्क्रिप्ट फ़ंक्शन भी जोड़ना होगा:

:

function showHint(str) {   
    ...        
    xmlhttp.open("GET","ajax.php?country="+str,true);
    xmlhttp.send(null);
    ...   
}

function showCity(str) {
    var xmlhttp;
    if (str.length==0) {
        document.getElementById("citydiv").innerHTML="";
        return;
    }
    if (window.XMLHttpRequest) {
        xmlhttp=new XMLHttpRequest();
    } else {
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function() {
        if (xmlhttp.readyState==4 && xmlhttp.status==200) {
            document.getElementById("citydiv").innerHTML=xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET","cityAjax.php?region="+str,true);
    xmlhttp.send(null);
}

:- अंतिम लेकिन कम से कम, यदि कोई क्षेत्र चुना गया है तो नए जावास्क्रिप्ट फ़ंक्शन को कॉल करने के लिए आपको अपने मौजूदा AJAX.php कोड का विस्तार करने की आवश्यकता होगी:

...
?><select name="region" id="region" onChange="showCity(this.value);" required><?php   

        foreach($select_region->results() as $row) {

            $region_id          =   escape($row->regionId);
            $region_name        =   escape($row->regionName);

        ?><option value="<?php echo $region_id; ?>" ><?php echo $region_name; ?></option><?php

        }
?></select><?php 
...

आशा है कि इससे थोड़ी मदद मिलेगी!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - कॉलम रिक्त होने पर किसी अन्य तालिका से मान पुनर्प्राप्त करें

  2. क्या MySQL में एक योग () को गति देना संभव है?

  3. MySQL में रखी गई कुंजियों और अन्य संरचना सुविधाओं वाली तालिका की नकल कैसे करें?

  4. MySQL लेफ्ट जॉइन 3 टेबल

  5. असीमित उप श्रेणियां बनाने का सबसे अच्छा तरीका क्या है?