PHP 3 レベル連携の実装手順
インターネットの発展に伴い、Web 開発は IT 業界の重要な部分になりました。 Web 開発の重要なツールとして、PHP の応用範囲はますます広がっています。 Web 開発では、3 レベルのリンク フォーム コントロールは、地方自治体の住所の選択、ブランド、モデル、バージョンの選択など、特別な場合に非常に役立ちます。この記事では、PHPの3階層連携を実装する手順を簡単に紹介します。
1. 3 段階連携コントロールとは何ですか?
3 段階連携コントロールとは、フロント ページに連携選択リストを表示することを指します。たとえば、リージョンを選択する場合、最初に州を選択してから、それに基づいて州を選択し、次に都市を選択し、最後に都市の選択に基づいて地区または郡を選択します。この 3 レベルのリンク制御は、特別な場合に非常に役立ちます。
第 2 レベルおよび第 3 レベルのリンケージ実装テクノロジ
第 3 レベルのリンケージを実装するテクノロジは多数あり、一般的なテクノロジには、Ajax、jQuery、Vue.js などが含まれます。ここではこれらの技術の紹介はしませんが、シンプルで使いやすいPHPの実装方法を紹介します。
3 および 3 レベル連携の実装手順
3 レベル連携を実現する手順を簡単に紹介します。
1. HTML ページを作成する
まず、州、市、郡のドロップダウン ボックスを含む HTML ページを作成する必要があります。以下に示すように:
<!DOCTYPE html> <html> <head> <title>三级联动控件</title> <meta charset="UTF-8"> </head> <body> <select id="province" name="province"> <option value="0">请选择省份</option> <option value="1">北京</option> <option value="2">上海</option> <option value="3">广东</option> <!-- 其他省份省略 --> </select> <br><br> <select id="city" name="city"> <option value="0">请选择城市</option> </select> <br><br> <select id="district" name="district"> <option value="0">请选择县区</option> </select> <br><br> <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script> <script type="text/javascript" src="script.js"></script> </body> </html>
2. JavaScript コードを作成します
次に、3 レベルのリンケージ イベントを処理するための JavaScript ファイルを作成します。以下に示すように:
$(function(){ // 省份下拉框改变事件 $('#province').change(function(){ var pid = $(this).val(); // 获取选中的省份id if(pid == 0){ // 如果省份id为0,则清空城市下拉框和县区下拉框 $('#city').empty().append('<option value="0">请选择城市</option>'); $('#district').empty().append('<option value="0">请选择县区</option>'); return; } $.ajax({ type: 'post', url: 'get_city.php', // 服务器处理程序,可根据需要修改 data: {pid:pid}, dataType: 'json', success: function(citys){ $('#city').empty().append('<option value="0">请选择城市</option>'); $('#district').empty().append('<option value="0">请选择县区</option>'); $.each(citys, function(i, city){ $('#city').append('<option value="'+city.id+'">'+city.name+'</option>'); }); } }); }); // 城市下拉框改变事件 $('#city').change(function(){ var cid = $(this).val(); // 获取选中的城市id if(cid == 0){ // 如果城市id为0,则清空县区下拉框 $('#district').empty().append('<option value="0">请选择县区</option>'); return; } $.ajax({ type: 'post', url: 'get_district.php', // 服务器处理程序,可根据需要修改 data: {cid:cid}, dataType: 'json', success: function(districts){ $('#district').empty().append('<option value="0">请选择县区</option>'); $.each(districts, function(i, district){ $('#district').append('<option value="'+district.id+'">'+district.name+'</option>'); }); } }); }); });
3. サーバー側ハンドラーを作成する
最後に、市と郡のデータをクエリするためのサーバー側ハンドラーも作成する必要があります。以下に示すように:
get_city.php
<?php header('Content-Type: application/json;charset=utf-8'); $pid = $_POST['pid']; if(empty($pid)){ echo json_encode([]); exit; } // 连接数据库查询城市数据 $conn = new mysqli('localhost', 'root', '123456', 'test'); if(mysqli_connect_errno()){ echo json_encode([]); exit; } $conn->set_charset('utf8'); $sql = "select * from city where pid=".$pid; $result = $conn->query($sql); $citys = []; while($row = $result->fetch_assoc()){ $citys[] = $row; } echo json_encode($citys); exit; ?>
get_district.php
<?php header('Content-Type: application/json;charset=utf-8'); $cid = $_POST['cid']; if(empty($cid)){ echo json_encode([]); exit; } // 连接数据库查询县区数据 $conn = new mysqli('localhost', 'root', '123456', 'test'); if(mysqli_connect_errno()){ echo json_encode([]); exit; } $conn->set_charset('utf8'); $sql = "select * from district where cid=".$cid; $result = $conn->query($sql); $districts = []; while($row = $result->fetch_assoc()){ $districts[] = $row; } echo json_encode($districts); exit; ?>
4. まとめ
この記事では、PHP の 3 レベルの連携について紹介しました。実装手順。この機能を実装することで、都市部向けの 3 段階の連携セレクターを構築でき、ユーザーの住所選択がより便利かつ迅速になります。 PHP技術を用いて3段階の連携制御を実現するには、フロントエンドとバックエンドの連携が必要で、フロントエンドは主にページ表示機能やイベント処理機能を実装し、バックエンドは主にデータベースへのクエリを実行してデータを取得します。この記事で紹介した方法は実装方法の 1 つであり、読者は必要に応じて改良や最適化を行うことができます。
以上がPHP 3 レベル連携の実装手順の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。