2017-03-17 1 views
0

Ich habe einen PHP-Code, der Daten aus MYSQL-Datenbank abrufen und diese abgerufenen Daten in eine Dropdown-Liste enthält, wo 2 Dropdown-Liste vorhanden sind, wählt der Benutzer aus dem ersten und basiert auf seinem Auswahl die zweite wird die zugehörigen Daten anzeigen.create dependent dropdownlist ich arbeite mit mysql mysql AJAX

  • tbl_country:
    • country_id
    • country_name
  • tbl_state:
    • state_id
    • STATE_NAME
    • country_id

kann mir jemand sagen, wo der Fehler im Code?

Code 1:

<?php 

function load_country(){ 
    $connect = mysqli_connect("localhost","****","***","test"); 
    $output = ''; 
    $sql = "select * from tbl_country"; 
    $result = mysqli_query($connect,$sql); 
// var_dump($result); 
    while ($row = mysqli_fetch_array($result)) { 
    $output.='<option value="'.$row["country_id"].'">'.$row["country_name"].'</option>'; 
    } 
    return $output; 

} 
?> 

<html> 
<head> 
    <title>dropdown test</title> 
    <script src="jquery.js"></script> 
    <script type="text/javascript"> 
    $(document).ready(function(){ 
     $('#country').change(function(){ 
     var country_id = $(this).val(); 
     $.ajax({ 
      url:"dropdown_fetch.php", 
      method:"POST", 
      data:{countryId:country_id}, 
      datatype:"text", 
      success:function(data){ 
       $('#state').html(data); 
      } 

     }); 
     }); 

    }); 

</script> 
</head> 
<body> 
    <p>select owner 
    <select name="country" id="country"> 
    <option value="">Select country</option> 
    <?php echo load_country(); ?> 
    </select></p> 
    <p>select state 
    <select name="state" id="state"> 
    <option value="">Select state</option> 
    </select></p> 

</body> 
</html> 

Code 2:

<?php 
$connect= mysqli_connect("localhost","****","****","test"); 
$output = ''; 
$sql = "select * from state where country_id = '".$_POST["countryId"]."' ORDER BY country_name"; 
$result = mysqli_query($connect,$sql); 
//var_dump($_POST["ownerID"]); 
$output='<option value="">Select state</option>'; 
while ($row = mysqli_fetch_array($result) { 
    $output.='<option value="'.$row["state_id"].'">'.$row["state_name"].'</option>'; 
} 
echo $output; 

?> 
+0

welche Fehler erhalten Sie? Kannst du es posten? – kampangala

+0

@kampangala gibt es keinen Fehler, aber das zweite Dropdown nur tun nichts anzeigen Zustand anzeigen –

+0

Versuchen Sie und überprüfen Sie das XHR-Objekt, das Sie gesendet und die Antwort (Anfrage und Antwort-Header) z. über die Entwicklerkonsole. Es ist eine gute Möglichkeit, das Debugging zu starten. –

Antwort

0

Hier ist ein Syntaxfehler in ihrer while-Schleife. Befestigen Sie die Zeile im Code 2:

while ($row = mysqli_fetch_array($result) 

zu

while ($row = mysqli_fetch_array($result))