country code
、state
、postcode
、city
のようなフィールドを持つ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ファイルから結果を取得しません。誰かが私にこれの解決策を教えてもらえますか?
は "動作しない" そう有用ではありません。 – mplungjan
@mplungjanと表示されるPHPエラーやコンソールエラーがある場合は教えてください。それは単純にすべての郊外を検索し、選択された州のものではない –
これは奇妙に見えます: 'WHERE \' state \ '= '$ searchq'' - ' WHERE state = "' $ searchq ' ' – mplungjan