2017-09-05 10 views
0

私はこのコードをチェックするのに1日を費やしましたが、エラーがどこにあるかはまだ分かりません。AJAXが期待通りに動作しない

<div class="col-md-6"> 
    <br/> 
    <label for="name">Class ID</label> 
    <select class="form-control" id="csid" name="csid"> 
    <option>----------Please select a Class Code---------</option> 
    <?php 
     $query = $con->query("SELECT * FROM class WHERE class_status='Active' "); 
     $rowCount = $query->num_rows; 
     if($rowCount > 0) { 
     while($row = $query->fetch_assoc()) { 
      echo '<option value="'.$row['class_id'].'">'.$row['class_code'].'</option>'; 
     } 
     } 
     else { 
     echo '<option value="">Class ID not available</option>'; 
     } 
    ?> 
    </select> 
</div> 
<div class="col-md-6"> 
    <br/> 
    <label for="name">Subject Name</label> 
    <input type="text" class="form-control" name="subid" id="subid" disabled/> 
</div> 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
<script> 
    $(document).ready(function(){ 
     $('#csid').change(function(){ 
     var classid = $(this).val(); 
     $.ajax({ 
      type:'POST', 
      url:'ajax.php', 
      data:{classid:classid}, 
      success:function(data){ 
      $('#subid').val(data); 
      } 
     }); 
     }); 
    }); 
</script> 

そして、ここで私のajax.phpファイルです:

<?php 

include('dataconnect.php'); 

if (isset($_POST['classid'])) 
{ 
    $qry = "select * from class where class_id=". $_POST['classid']; 
    $rec = mysql_query($qry); 
    if (mysql_num_rows($rec) > 0) { 
     while ($res = mysql_fetch_array($rec)) { 
      echo $res['class_status']; 
     } 
    } 
} 

?> 

誰でもエラーがある場合、私は実際にそれを見つけることができないように私は、知らせることができます。ありがとうございました。

+1

申し訳ありませんが、私はあなたが持っている問題を理解していません。 –

+0

あなたのコードを[** debugging **](https://en.wikipedia.org/wiki/Debugging)しようとしましたか? –

+4

また、 'mysql_'コンストラクタは[PHP 5.5 **で廃止されました](https://wiki.php.net/rfc/mysql_deprecation)であり、[PHP 7 **では削除されました] (https://wiki.php.net/rfc/remove_deprecated_functionality_in_php7#extmysql)。 [** MySQLi **](http://php.net/manual/en/book.mysqli.php)または[** PDO **](http://php.net/manual/)への切り替えを検討してください。 en/book.pdo.php)を使用して、[** prepared statements **](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)を使用して[** SQLインジェクション**](https://en.wikipedia.org/wiki/SQL_injection)。 –

答えて

1

PHP 7を使用している場合は、コードmysql_removed in PHP 7(およびdeprecated as of PHP 5.5)であるため、コードに出力がありません。

MySQLiまたはPDOに切り替えるとこの問題が解決されます。

さらにを防ぐには、prepared statementsも使用するようにしてください。 :)

関連する問題