sql >> Databasteknik >  >> RDS >> Mysql

Jag behöver hjälp med att avsluta den här dynamiska rullgardinsmenyn på tre nivåer

Jag förstår inte riktigt ditt problem då? Du frågar i grund och botten hur du gör exakt det du gör nu för regionerna igen för städer?

Som att skapa en cityAjax.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        
    }

Jag är ledsen, men din fråga är inte riktigt vettig...

Uppdatering:

Ah, jag tror jag förstår ditt problem. Du förstår inte hur man låter valet av genererade regioner ladda en stadsdel.

Ok, du kan göra så här:

  • som nämnts längre upp, skulle du först behöva skapa en ny ajax.php för logiken att hämta städerna. Det skulle vara trevligare att hantera allt från en fil, men för att göra saker enkelt så går vi bara med en andra php-fil.

  • Du måste också utöka din bas-html-fil och lägga till en platshållare för städerna:

    ...Region--Välj State--

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

    ...

  • Du måste också lägga till en javascript-funktion för att fylla i denna nya platshållare:

:

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);
}

:- Sist men inte minst måste du utöka din befintliga ajax.php-kod för att anropa den nya javascript-funktionen om en region väljs:

...
?><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 
...

Hoppas detta hjälper lite!




  1. Hur man distribuerar ett mycket tillgängligt Canvas LMS med ett PostgreSQL-databaskluster

  2. JPA Sparar fel datum i MySQL-databasen

  3. Ställ in AUTOINCREMENT-värde i django-tabellen

  4. Oracle current_timestamp till sekunder konvertering