こんにちはstackoverflow開発者、最初に、解決策が見つからなかったら申し訳ありませんが、しばらく試してみました。私のアプローチが最適かどうかはわかりません。AJAX や JSON に代わるものがあれば、遠慮なく提案してください。
登録ユーザーが地域や州に応じてリゾート、レストラン、観光スポットを掲載する観光ガイド Web サイトを作成しています。私はJoomlaを使用しています!これには Seblod (いくつかのカスタム PHP、MySQL、Javascript、および AJAX を使用)。手動で 27 の動的な選択を作成したくないので、PHP/AJAX/JSON/JQuery を使用して、登録されているビーチ (リゾートや観光スポットに関連する必要がある) のリストを選択しようとしています。
ビーチ リストの作成以外はすべて機能しますが、何が問題なのかわかりません。オプションを追加、作成、または追加する方法を複数試しましたが、何も起こりません。PHP/JSON の結果は次のとおりです。
` [{"id":"17","title":"ポルト+デ+ガリーニャス"},{"id":"18","title":"セランビ"},{"id":"19", "タイトル":"タマンダー%E9"}] `
これは、次の PHP スクリプトの結果です。
` if($_GET['q'] == 'ビーチ'){ $praiaSQL = sprintf("SELECT * FROM vp_content AS c LEFT JOIN vp_cck_store_item_content AS v ON c.id = v.id WHERE c.catid = 10 AND v.cck = 'praia' AND v.venue_state = '%s' ORDER BY c.title ASC;", $_GET['s']); $query = mysqli_query($connection, $praiaSQL); $プライア = 配列(); while($results = mysqli_fetch_assoc($query)){ array_push($praia, array('id' => $results['id'], 'title' => urlencode($results['title']))); } echo json_encode($プライア); } `
アクセント付きの文字を処理するためのソリューションも必要です。ここで urlencode を試し、JQuery でデコードしようとしていますが、問題になる可能性があります。元のデータのままにすると、アクセント付きの文字がある場合、結果項目が空になりました。
これは、結果を処理する関連する JQuery です (ここで、x = 選択、u = AJAX JSON 結果を取得するための URL - コードのどこに問題があるかをコメントしました):
` 関数 setBeachList(x,u){ var theDiv = "#cck1r_" + x; var theSelect = "#" + x; $j(theSelect).children("option:not(:first)").remove(); $j.ajax({ url: う、 contentType: "application/json;charset=UTF-8", 成功: 関数(データ){ if(データ.長さ){ /**** 確認する方法が見つからないため、ここで行き詰まっています。 データは実際に処理/処理されています。 アラートやその他のあらゆる種類のオプションを試して、 選択する。 before: および after: 関数があるため、呼び出されていることはわかっています 作業しています。 *****/ /* $j.each(データ、関数(k、v){ var o = 新しいオプション(); var newTitle = urldecode(v.title); $j(o).html(newTitle).val(v.id); $j(theSelect).append(o); }); */ var htm = ''; for (var i = 0; i '+urldecode(data[i].title)+''; } $j(theSelect).html(htm); } }、 beforeSend: 関数(){ $j(theDiv).hide(); }、 完全:関数(){ $j(theDiv).show(); }、 データ型: 'json', }); } `
時間と忍耐をありがとう、私はこれの専門家ではありません (正確には初心者ではありませんが、近い...)。