我想使用javascript打印mysql查询的结果

我想使用javascript打印mysql查询的结果,mysql,xml,ajax,Mysql,Xml,Ajax,我正在开发一个房地产网站,在我们数据库中搜索房产的页面中,我在将结果打印到表中之前就做了这项工作,但现在我希望以更具设计性的方式获得结果。我使用此代码生成xml <?php function parseToXML($htmlStr) { $xmlStr=str_replace('<','&lt;',$htmlStr); $xmlStr=str_replace('>','&gt;',$xmlStr); $xmlStr

我正在开发一个房地产网站,在我们数据库中搜索房产的页面中,我在将结果打印到表中之前就做了这项工作,但现在我希望以更具设计性的方式获得结果。我使用此代码生成xml

<?php function parseToXML($htmlStr)
   { 
      $xmlStr=str_replace('<','&lt;',$htmlStr); 
      $xmlStr=str_replace('>','&gt;',$xmlStr); 
      $xmlStr=str_replace('"','&quot;',$xmlStr); 
      $xmlStr=str_replace("'",'&#39;',$xmlStr); 
      $xmlStr=str_replace("&",'&amp;',$xmlStr); 
  return $xmlStr; 
   } 
 // Opens a connection to a MySQL server
$connection=mysql_connect ('localhost', 'root', '');
if (!$connection) {
die('Not connected : ' . mysql_error());
  }

// Set the active MySQL database
$db_selected = mysql_select_db('realestate', $connection);
 if (!$db_selected) {
die ('Can\'t use db : ' . mysql_error());
}

 // Select all the rows in the markers table
  $locality = htmlentities($_POST['locality']);

 $sellorrent = htmlentities($_POST['sell']);
 $price = htmlentities($_POST['price']);





 $type = htmlentities($_POST['ptype']);



    $query = "SELECT * FROM `property` WHERE  locality= '".$locality."' and sellorrent='".$sellorrent."' and type='".$type."' and price<= '".$price."' ";



$result = mysql_query($query, $connection); 


$row = mysql_fetch_array($result);

   header("Content-type: text/xml");

  // Start XML file, echo parent node
   echo '<properties>';

 // Iterate through the rows, printing XML nodes for each 

   while ($row = @mysql_fetch_assoc($result)){



  // ADD TO XML DOCUMENT NODE







  echo '<property ';
  echo 'id="' . parseToXML($row['id']) . '" ';
  echo 'seller_id="' . parseToXML($row['seller_id']) . '" ';
  echo 'bedrooms="' . parseToXML($row['bedrooms']) . '" ';
  echo 'year="' . parseToXML($row['year']) . '" ';
  echo 'locality="' .parseToXML($row['locality']) . '" ';
  echo 'type="' .parseToXML($row['type']) . '" ';
  echo 'price="' .parseToXML($row['price']) . '" ';
  echo 'sellorrent="' .parseToXML($row['sellorrent']) . '" ';


  echo '/>';
}

// End XML file
echo '</properties>';



?>

xml文件工作正常,并从表单页面获取结果 现在我用javascript创建这个页面,以输出xml的结果

<!DOCTYPE html >

<head>

<script type="text/javascript">


function load() {
downloadUrl("searchxml.php", function(data) {
    var xml = data.responseXML;
    var properties= xml.documentElement.getElementsByTagName("property");
    for (var i = 0; i < properties.length; i++) {
      var id = properties[i].getAttribute("locality");
      var address = properties[i].getAttribute("price");


       var bedrooms = properties[i].getAttribute("bedrooms");
         var seller_id = properties[i].getAttribute("seller_id");

         var property_id = properties[i].getAttribute("id");
          var type = properties[i].getAttribute("type");
         var year = properties[i].getAttribute("year");
         var sell = properties[i].getAttribute("sellorrent");
      document.write( type + " for " + sell + " in " + id + "</h3><br>");

      }
  });
  }
  function downloadUrl(url, callback) {
  var request = window.ActiveXObject ?
      new ActiveXObject('Microsoft.XMLHTTP') :
      new XMLHttpRequest;

  request.onreadystatechange = function() {
    if (request.readyState == 4) {
      request.onreadystatechange = doNothing;
      callback(request, request.status);
    }
  };

  request.open('GET', url, true);
  request.send(null);
}

function doNothing() {}

      </script>
</head>

<body onload="load()">

      </body>
      </html>

函数加载(){
下载URL(“searchxml.php”,函数(数据){
var xml=data.responseXML;
var properties=xml.documentElement.getElementsByTagName(“属性”);
对于(var i=0;i”)中为“+sell+”键入“+”;
}
});
}
函数下载url(url,回调){
var请求=window.ActiveXObject?
新的ActiveXObject('Microsoft.XMLHTTP'):
新的XMLHttpRequest;
request.onreadystatechange=函数(){
if(request.readyState==4){
request.onreadystatechange=doNothing;
回调(请求、请求、状态);
}
};
打开('GET',url,true);
请求发送(空);
}
函数doNothing(){}

但是没有什么可以告诉我的

要回答你的问题,请阅读。。。 但简短的回答是,它会像

$(document).ready(function() {
    $.ajax({
        type:'POST',
        url:"searchxml.php",
        data : {}, //you can add posted data, in an inline Javascript array form
        success : function(response) {
             var xml = response;
             var properties= xml.documentElement.getElementsByTagName("property");
             for (var i = 0; i < properties.length; i++) {
                 var id = properties[i].getAttribute("locality");
                 var address = properties[i].getAttribute("price");

                 var bedrooms = properties[i].getAttribute("bedrooms");
                 var seller_id = properties[i].getAttribute("seller_id");

                 var property_id = properties[i].getAttribute("id");
                 var type = properties[i].getAttribute("type");
                 var year = properties[i].getAttribute("year");
                 var sell = properties[i].getAttribute("sellorrent");

                 $('body').append($('<h3/>').text( type + " for " + sell + " in " + id + "<br />"));
        }
    });

});
$(文档).ready(函数(){
$.ajax({
类型:'POST',
url:“searchxml.php”,
data:{},//您可以以内联Javascript数组形式添加发布的数据
成功:功能(响应){
var-xml=响应;
var properties=xml.documentElement.getElementsByTagName(“属性”);
对于(var i=0;i“)中键入+”表示“+sell+”);
}
});
});

为什么不使用jQuery或Prototype之类的Ajax库来帮助您处理
XMLHttpRequest
,以及DOM操作……如何使用它们?请给出示例或说明