如何获取在MySQL查询中传递的数据

时间:2019-10-16 10:27:03

标签: php sql ajax

如何从nationality_id获取所选值以检查book_id查询中的查询。 所以我可以找到国家在哪里。

我的选择有国籍,书号和国家。 我希望用户选择国籍展示簿。 然后用户选择国家的图书显示。 但是,我国将基于国籍并预定显示数据。

感谢任何可以帮助我的人。 我的SQL是从我需要的结果中得到的,只是需要帮助来纠正脚本

PHP脚本:国籍ID

if(!empty($_POST['nationality_id'])) {


    $query = "SELECT nationality.nationalities, book_type.book ";
    $query .= "FROM info ";
    $query .= "JOIN nationality ON nationality.id = info.nationality_id ";
    $query .= "JOIN book_type ON book_type.id = info.book_type_id ";
    $query .= "WHERE nationality.nationalities LIKE '{$_POST['nationality_id']}' ";
    $query .= "GROUP BY book_type.book ";
    $query .= "ORDER BY book_type.book DESC ";
    $check_nationality = mysqli_query($db_connection, $query); 

    // Generate HTML of nationality options list 
    if($check_nationality->num_rows > 0){ 
        echo '<option value="">Please Select Your Book</option>'; 
        while($row = $check_nationality->fetch_assoc()){  
            echo '<option value="'.$row['book'].'">'.$row['book'].'</option>'; 
        } 
    }


}

对于显示书没有任何问题: 当我尝试输入时:

AND nationality.natioalities喜欢'{$ _POST ['nationality_id']}

我的选择功能不再起作用。

PHP脚本:图书ID

 if(!empty($_POST['book_id'])) {

    $query = "SELECT nationality.nationalities, book_type.book, region.region, country.country ";
    $query .= "FROM info ";
    $query .= "JOIN nationality ON nationality.id = info.nationality_id ";
    $query .= "JOIN book_type ON book_type.id = book.book_type_id ";
    $query .= "JOIN region ON region.id = info.region_id ";
    $query .= "JOIN country ON country.region_id = region.id ";
    $query .= "WHERE book_type.book LIKE '{$_POST['book_id']} AND nationality.natioalities LIKE '{$_POST['nationality_id']}' ";
    $query .= "GROUP BY country.country ";
    $query .= "ORDER BY country.country ASC ";

    $check_country = mysqli_query($db_connection, $query); 

    // Generate HTML of country options list 
    if($check_country->num_rows > 0){ 

        echo '<option value="">Please Select Your Country</option>'; 
        while($row = $check_country->fetch_assoc()){  
            $country = ucwords(strtolower($row['country']));
            echo '<option value="'.$country.'">'.$country.'</option>'; 
        } 
    } 
}

JQuery脚本:

$(document).ready(function(){
    $('#nationality').on('change', function(){
        var nationalityID = $(this).val();
        if(nationalityID){
            $.ajax({
                type:'POST',
                url:'ajaxData.php',
                data:'nationality_id='+nationalityID,
                success:function(html){
                    $('#book').html(html);
                    $('#Country').html('<option value="">Please Select Nationality first</option>'); 
                }
            }); 
        }else{
            $('#book').html('<option value="">Please Select Nationality first</option>');
            $('#country').html('<option value="">Please Select Book first</option>'); 
        }
    });

    $('#book').on('change', function(){
        var bookID = $(this).val();
        if(bookID){
            $.ajax({
                type:'POST',
                url:'ajaxData.php',
                data:'book_id='+bookID ,
                success:function(html){
                    $('#country').html(html);
                }
            }); 
        }else{
            $('#country').html('<option value="">Please Select book first</option>'); 
        }
    });
});

1 个答案:

答案 0 :(得分:0)

我认为您的问题有太多细节;

我猜测您需要这种通用形式:

How to access a php variable in external php file using JavaScript?

如果正确,我可以编辑我的答案以更好地回答您的问题。