2016-04-28 30 views
0

country codestatepostcodecityのようなフィールドを持つMySQLテーブルがあります。ユーザーが国コードAUを入力したときに、状態フィールドに国コードに対応する州を入力するフォームを作成したいとします。状態が選択されると、選択された状態の下にあるポストコードのみが表示されるはずです。郵便番号が選択されると、その値の都市が都市のフィールドに表示されます。AJAXからAJAX経由で別のPHPファイルに転送する値

データベースからいくつかの行は、次のとおりです。

function searchq5(){ 
    var searchTxt = $("input[name='ccd']").val(); 
    $.post("search-region.php", {searchVal: searchTxt}, function(state){ 
     $("#state").html(state); 
     searchq6(); 
    }); 
} 

function searchq6(){ 
    var searchsub = $("input[name='region']").val(); 
    $.post("search-suburb.php", {searchVal: searchsub}, function(sbb){ 
     $("#sbb").html(sbb); 
     searchq7(); 
    }); 
} 

search-region.php

if (isset($_POST['searchVal'])){ 
    $searchq = $_POST['searchVal']; 
    $query = mysqli_query($link, "SELECT DISTINCT state FROM `wp_locations` WHERE `country` LIKE '%".$searchq."%' ")or die("Could not search!"); 

    $count = mysqli_num_rows($query); 
    if($count == 0){ 
     $output = '<option>No results!</option>'; 
    }else{ 
     while($row = mysqli_fetch_array($query)){ 
      $state = $row['state']; 
      ?> 
      <option value="<?php echo $state; ?>"><?php echo $state; ?></option> 
      <?php 
     } // while 
    } // else 
} 

search-suburb.phpので

| country | state | postcode | suburb | 
+---------+-------+----------+-----------+ 
| AU  | VIC | 3000  | Melbourne | 
| AU  | NSW | 3006  | Sydney | 

今私は別のPHPファイルにデータを送信し、このAJAXコードを持っています:

if (isset($_POST['searchsub'])){ 
    $searchq = $_POST['searchsub']; 
    $query = mysqli_query($link, "SELECT DISTINCT title FROM `wp_locations` WHERE `state`='$searchq' ")or die("Could not search!"); 

    $count = mysqli_num_rows($query); 
    if($count == 0){ 
     $output = '<option>No results!</option>'; 
    }else{ 
     while($row = mysqli_fetch_array($query)){ 
      $suburb = $row['title']; 
      ?> 
      <option value="<?php echo $suburb; ?>"><?php echo $suburb; ?></option> 
      <?php 
     } // while 
    } // else 
} // main if 

ここで私の考えは、状態が選択されると、その入力ボックスの値が検索値としてselect-suburb.phpに送られます。郊外の選択肢としては何も現れません。私は他のPHPファイルから結果を取得しません。誰かが私にこれの解決策を教えてもらえますか?

+0

は "動作しない" そう有用ではありません。 – mplungjan

+0

@mplungjanと表示されるPHPエラーやコンソールエラーがある場合は教えてください。それは単純にすべての郊外を検索し、選択された州のものではない –

+0

これは奇妙に見えます: 'WHERE \' state \ '= '$ searchq'' - ' WHERE state = "' $ searchq ' ' – mplungjan

答えて

-1

"async:false"オプションを使用しようとしましたか? Ajaxリクエストは非同期であるため、リクエストが完了する前に2番目のメソッドが呼び出されます。

$.ajaxSetup({async: false});

リクエストを行い、そしてプット後:

$.ajaxSetup({ async: true }); 
+0

コールバックで関数が呼び出されています – mplungjan

関連する問題