PHP 開発で、州、市、郡間の mysql+ajax の 3 レベルの連携を作成したいと考えています。すべてが作成され、xml または json 形式でデータが返されるのを待っています。
クエリは次のとおりです: $sql="select * from city where sid=1";//1 は江蘇省の ID です
$res=mysql_query($sql);
以下に対処するには、while ループを使用するか、どのように実行するか?私が望む XML 形式は に似ています
南京蘇州 他の方の質問と回答からの転載です。 。 。
感謝の気持ちを込めてデータベースを含めたコードを一度送ります! ! ! - php page:
- //ここの 2 つの文は非常に重要です。最初の文は、返されるデータが XML 形式であることをブラウザーに伝えます
- header("Content-Type: text/html;charset=utf- 8") ;
- //データをキャッシュしないようブラウザに指示します
- header("Cache-Control: no-cache");
- $conn=mysql_connect("localhost","root","123");
- mysql_select_db( "ajax") ;
- mysql_query("set names utf8");
- if(isset($_POST['sid'])){
- $sid=$_POST['sid'];
- //file_put_contents("D :/a.txt",$sid);
- $sql_shi="sid=$sid の shi から shi を選択";
- $res_shi=mysql_query($sql_shi);
- $arr="";
- while($row= mysql_fetch_array($res_shi )){
- $arr[]=$row;
- }
- $a=json_encode($arr);
- echo '{"aa":'.$a.'}';
- }
- ?> ;
- js ページ :
- //xmlHttpRequest オブジェクトの作成
- function GetXmlHttpObject()
- {
- var xmlHttp=null;
- try
- {
- // Firefox、Opera 8.0+, Safari
- xmlHttp= new XMLHttpRequest();
- }
- catch (e)
- {
- // Internet Explorer
- try
- {
- xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
- }
- catch (e)
- {
- xmlHttp=new ActiveXObject ("Microsoft.XMLHTTP");
- }
- }
- return xmlHttp;
- }
- var xhr="";
- function checkCity(){
- ajax/citiesProcess.php";
- var data="sid= "+$("sheng").value;
- xhr.open("post",url,true);
- xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
- xhr.onreadystatechange=chuli;
- xhr.send(data);
- }
- }
- function $(id){
- return document.getElementById(id);
- }
-
- function chuli(){
- if(xhr.readyState= =4 && xhr.status==200){
- var result=xhr.responseText;
- //window.alert(result);
- var message=eval(" ("+result+")");
- $("city ").length=0;
- myoption=document.createElement("option");
- myoption.innerText="--city--";
- $(" city").appendChild(myoption);
- for(var i =0;i var shi_name=message.aa[i].shi;
- myoption=document.createElement("option ");
- myoption.value=shi_name;
- myoption.innerText =shi_name;
- $("city").appendChild(myoption);
- }
- //window.alert(message.aa[].length);
- }
- }
- html ページ:
- < ;body>
-
-
-
-
-
-
-
-
- body>
-
-
- コードをコピー
|