我正在尝试根据用户的输入(日期选择)生成一些发票。那是这样的:
该
invoice.php
文件将允许用户从表单中选择一个日期,并且基于该选择,同一页面上的发票内容(如金额、客户等)将通过 Ajax 进行更新。这
ajaxInvoice.php
将生成一个 MySQL 查询,最后根据日期选择和商家(唯一行)创建一个具有相应表行的数组。
invoice.php
...
<body>
<script language="javascript" type="text/javascript">
<!--
//Browser Support Code
function ajaxFunction(){
var ajaxRequest;
try{
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
} catch (e){
// Internet Explorer Browsers
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
// Something went wrong
alert("Your browser broke!");
return false;
}
}
}
// Create a function that will receive data sent from the server
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
var ajaxDisplay = document.getElementById('field_1');
ajaxDisplay.innerHTML = ajaxRequest.responseText;
}
}
var date = document.getElementById('date').value;
var merchant = document.getElementById('merchant').value;
var queryString = "?date=" + date + "&merchant=" + merchant;
ajaxRequest.open("GET", "ajaxInvoice.php" + queryString, true);
ajaxRequest.send(null);
}
//-->
</script>
...
<form name="invoiceDate">
<input type="hidden" id="merchant" value="<?php echo $merchant; ?>" />
Date: <select id="date">
<option>2013-07-23</option>
<option>2013-07-25</option>
</select>
<input type="button" onclick="ajaxFunction()" value="Select Date" />
</form>
...
<div id="field_1">FIELD 1</div>
...
<div id="field_2">FIELD 2</div>
...
<div id="field_3">FIELD 3</div>
...
ajaxInvoice.php
include_once('includes/db.php');
$merchant = $_GET['merchant'];
$date = $_GET['date'];
$merchant = mysql_real_escape_string($merchant);
$date = mysql_real_escape_string($date);
$query = "SELECT * FROM settlements WHERE datePayment = '$date' AND merchant = '$merchant'";
$result = mysql_query($query) or die(mysql_error());
$array = array();
while($row = mysql_fetch_assoc($result)) {
$array[] = $row;
}
我想知道我是否可以通过这种方式访问该数组:
echo $array[0]['fieldName'];
并根据不同的行字段更新页面上的选定元素。不确定是否getElementById
或getElementByName
应该使用。
我的问题是如何在脚本部分以及页面的其余部分中实际访问 php 数组,以便在用户从形式。
事实上,如果只需要更新一个 div,代码就可以正常工作,但我不知道如何扩展逻辑以更新多个 div。
任何有关语法或代码逻辑的帮助或提示将不胜感激。
非常感谢您!