簡體   English   中英

我該如何解決這個mysql搜索查詢

[英]How can I solve this mysql search query

我正在處理一個鏈式選擇下拉列表,它從數據庫中提取數據以填充類別組合框,同時當選擇類別組合框中的選項時,子類別組合框將填充。 類別下拉框從數據庫中提取數據沒有任何問題但是我遇到了使用子類組件框根據類別組合框中選擇的選項的“id”從數據庫中選擇數據的問題。下面的任何幫助請參閱下面的我的PHP代碼以及顯示數據的jquery代碼

 <?php 
    include ('../storescripts/connection.php');

      function ShowCategory(){
    $sql = "SELECT * FROM category";
   $res = mysql_query($sql) or die(mysql_error());
   $category = '<option value="0">Choose...</option>';
     while($row = mysql_fetch_array($res))
     {
         $category .= '<option value = "'.$row['category_id'].'"> '.$row['category_name']. ' </option>';
         }
         return $category;
   }

   function ShowSubCategory(){
         if (!isset($_POST['id'])) 
        {
        //If not isset -> set with dumy value 
        $_POST['id'] = ""; 

            } 

       $sql1 = "SELECT * FROM subcategory WHERE category_id = '$_POST[id]'";    
       $res1 = mysql_query($sql1) or die(mysql_error());   
       $subcategory = '<option value="0"> Choose...</option>';
       while($row = mysql_fetch_array($res1)){

             $subcategory .= '<option value="'.$row['subcategory_id'].'"> '.$row['subcategory_name'].' </option>';

           }
           return $subcategory;
       }

?>

// jquery代碼

 <script type="text/javascript">
 $(document).ready(function() {

 $("select#category").change(function(){
var id = $("select#category option:selected").attr('value');
 $.post("select_subcat.php", {id:id}, function(data){
    $("select#subcategory").html(data);
    });
 });

 });
 </script>

盡量縮小可能存在的問題。 在進行選擇時,讓PHP將SQL語句打印到頁面。

然后你可以將這個確切的語句提供給MySQL(通過命令行或通過phpmyadmin),看看你是否得到了你想要的結果。 如果你這樣做,那么問題就在后面。 你看到了什么?

我同意早期的海報 - 如果沒有設置$ _POST id,你用“”填充它? 這可能不會得到任何結果。

最后一點:在觸摸任何$ _POST或$ _GET變量之前,至少要使用mysql_real_escape_string() 您正在打開您的站點,否則會進行多次SQL注入攻擊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM