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

Hộp danh sách nhiều lựa chọn của Bang không hiển thị tất cả các Thành phố trong hộp danh sách khác (Php, mysql, ajax)

Đó là vì truy vấn mysql sai. Bạn cung cấp nhiều số trong một bằng nhau đơn giản.

Đó phải là:

$g = $_GET['g'];    
$sql="SELECT * FROM city WHERE state_id IN (".$g.")";
$result = mysqli_query($con,$sql);

nếu $ g là danh sách các số được phân tách bằng dấu phẩy. Nếu không, bạn phải làm như vậy.

Vì vậy, nếu $ g là một mảng, bạn phải thực hiện một hàm implode () trên đó và bạn có thể sử dụng nó trong truy vấn

$g = $_GET['g'];    
$g = implode(',', $g);
$sql="SELECT * FROM city WHERE state_id IN (".$g.")";
$result = mysqli_query($con,$sql);

nếu nó là một chuỗi và giả sử các số được phân tách bằng dấu cách của tôi, bạn thay thế dấu cách bằng dấu phẩy:

$g = $_GET['g'];    
$g = str_replace(' ', ',', $g);
$sql="SELECT * FROM city WHERE state_id IN (".$g.")";
$result = mysqli_query($con,$sql);

Vì vậy, trong trường hợp của bạn, truy vấn MySQL phải là:

$sql="SELECT * FROM state WHERE country_id = '".$q."'";
$result = mysqli_query($con,$sql);
    echo "<select name='try[]' onchange='showSecondUser(this)' multiple>";
    //                            there is a change here ^
    while($row = mysqli_fetch_array($result)){
       echo "<option value='".$row['id']."'>".$row['state_name']."</option>";
    }
    echo" </select>";
/*######################################################*/
$g = $_GET['g'];    
$sql="SELECT * FROM city WHERE state_id IN (".$g.")";
$result = mysqli_query($con,$sql);

Và javascript phải là thế này:

function showSecondUser(str){
    var xmlhttp;
    if (window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest();
    } else {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
            document.getElementById("txtHint2").innerHTML = xmlhttp.responseText;
        }
    }

    var values = new Array();
    for (var i=0; i < str.options.length; i++) {
        cur = sel.options[i];
        if (cur.selected) {
            values.push(cur.value);
        }
    }
    if (values.length) {
        values = values.join(",");
    } else {
        values = null;
    }

    xmlhttp.open("GET","loadData.php?g="+values,true);
    xmlhttp.send();
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tạo các hàng trống ngay cả khi trống giữa 2 ngày

  2. Sử dụng MySQL với Android

  3. Cách kết nối cơ sở dữ liệu mySQL bằng C ++

  4. Sql chọn các phần tử phù hợp với mảng và hiển thị chúng thành một hàng

  5. kết nối php gộp chung mysql