OK、これは 2 回目の投稿なので、Web 開発に比較的慣れていないことを前提としています。いらっしゃいませ!
あなたの質問は、あなたが何をしたいのかについてあまり明確ではないので、最初に単純であると仮定します.phpスクリプトへのAJAX呼び出しを行うonclickイベントを作成します(あなたはphpにタグを付けたので、私はあなたを仮定します. php スクリプトを書き直す) し、ページの動的 div に結果を表示します。
別のスタイルの php スクリプトを使用するので、怖がらないでください。
if ($something):
// do something
else:
// do something else
endif;
まず、要素を設定しましょう。
<?php
// Assume we already have the fruit categories stored in an array, $categories
// Display each fruit category on the page
foreach ($categories as $category) :
?>
<div class='category' id='<?=$category?>'><?=$category?></div>
<?php
endforeach;
?>
<!-- empty placeholder div - this is where our results will go -->
<div id='results'></div>
これにより、ページで開始するすべての要素が表示されます。カテゴリクラスに基づいてこれらの要素のスタイルを設定する場合は、すぐに行ってください。
次に、onClick の動作を決定する JavaScript を記述する必要があります。これには、そのままの JavaScript を使用することも、jQuery を使用することもできます (これは今日非常に普及しています。よく読んでください。把握するのはそれほど難しくありません)。
<script type='text/javascript' language='javascript'>
$('.category').click(function() {
// grab the category (based on the id of the element) and send it to our background page
var category = $(this).id();
$.post('backgroundScript.php',
{
type: category
},
function(data) {
// print the results inside the #results div
$('#results').html(data);
}
);
});
</script>
最後に、データを処理して結果を返すバックグラウンド スクリプトが必要です。
<?php
//backgroundScript.php
$type = $_POST['type'];
// pass $type in to the database and perform some joins to get the subcategories in an array,
// then present a list of subcategories
$subcategories = findSubCategoriesInDB($type);
if (count($subcategories)) {
echo "<ul>";
foreach ($subcategories as $subcat) {
echo "<li>" . $subcat . "</li>";
}
echo "</ul>";
} else {
echo "No subcategories were found for " . $type;
}