Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tôi cần trợ giúp để hoàn thành menu thả xuống động 3 cấp này

Tôi không hiểu lắm vấn đề của bạn lúc đó? Về cơ bản, bạn đang hỏi làm thế nào để thực hiện chính xác những gì bạn đang làm bây giờ cho các Khu vực một lần nữa cho các Thành phố?

Giống như tạo một 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        
    }

Tôi xin lỗi, nhưng câu hỏi của bạn không thực sự có ý nghĩa ...

Cập nhật:

À, tôi nghĩ tôi hiểu vấn đề của bạn. Bạn không hiểu cách cho phép lựa chọn vùng đã tạo tải một phần thành phố.

Được rồi, bạn có thể làm như thế này:

  • như đã đề cập ở trên, trước tiên bạn cần tạo một ajax.php mới cho logic truy xuất các thành phố. Sẽ tốt hơn nếu xử lý tất cả từ một tệp, nhưng để giữ mọi thứ đơn giản, chúng ta sẽ chỉ thực hiện với tệp php thứ hai.

  • Bạn cũng sẽ cần mở rộng tệp html cơ sở của mình và thêm trình giữ chỗ cho các thành phố:

    ... Khu vực - Chọn Tiểu bang--

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

    ...

  • Bạn cũng sẽ cần thêm một hàm javascript để điền vào trình giữ chỗ mới này:

:

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

:- Cuối cùng nhưng không kém phần quan trọng, bạn sẽ cần phải mở rộng mã ajax.php hiện có của mình, để gọi hàm javascript mới nếu một vùng được chọn:

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

Hy vọng điều này sẽ giúp một chút!




  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 INSERT hoặc REPLACE Commands

  2. lỗi 1265. Dữ liệu bị cắt ngắn cho cột khi cố gắng tải dữ liệu từ tệp txt

  3. Lưu trữ và hiển thị chuỗi unicode (हिन्दी) bằng PHP và MySQL

  4. Làm cách nào để lấy ID được chèn cuối cùng của bảng MySQL trong PHP?

  5. Làm thế nào để khóa các bảng bằng codeigniter?