私の問題の解決策を探すために約5日間答えを探した後、私は助けを求めたほうがよいと思いました。動作しそうにないカスケードドロップダウンに取り組んでいます。
Mysqlデータは、国(varchar)と地域(varchar)、ドキュメントの名前(varchar)、ドキュメントへのリンク(varchar)、および追加された日付(timestamp)がある1つのテーブルに保存されます。
最初のドロップダウンが、リージョンを含む2番目のドロップダウンにつながるようにします。多くのチュートリアルを見ましたが、PDOまたはMysqliのいずれかを使用して機能するチュートリアルが見つからないようです。フォームを送信するときに、ドキュメントの名前をハイパーリンクとして表示し、日付を追加します。
私は使い始めました:http ://www.electrictoolbox.com/json-data-jquery-php-mysql/
これは私のコードです:
「ドロップダウンサイト」
<form>
<select name="country" id="countryname">
<option>Sverige</option>
<option>Norge</option>
<option>Danmark</option>
<option>Finland</option>
</select>
<select name="region" id="regionname">
</select>
</form>
Javascript(jQuery)
function popregion() {
$.getJSON('/blanketter_func2.php', {countryname:$('#countryname').val()}, function(data) {
var select = $('#regionname');
var options = select.prop('options');
$('option', select).remove();
$.each(data, function(index, array) {
options[options.length] = new Option(array['region']);
});
});
}
$(document).ready(function() {
popregion();
$('#countryname').change(function() {
popregion();
});
});
関数ファイル(blanketed_func2.php)。
<?php
$dsn = "mysql:host=localhost;dbname=blanketter";
$username = "root";
$password = "root";
$pdo = new PDO($dsn, $username, $password);
$rows = array();
if(isset($_GET['countryname'])) {
$stmt = $pdo->prepare("SELECT region FROM blanketter WHERE country = ? ORDER BY region");
$stmt->execute(array($_GET['countryname']));
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
}
echo json_encode($rows);
?>
私はjQueryバージョン1.9.1を使用していますが、助けていただければ幸いです。
/ステン