我有5个HTML输入字段,每个字段都必须相应地显示自己的车道重量。我不确定这里需要如何使用Ajax,但我需要能够向PHP发送每个车道名称,并将这些值返回到HTML中各自的输入字段。所有文件都是分开的。到目前为止,我有它的工作,如果我硬编码PHP变量"lane_name",但我需要它通过通道名称根据输入字段需要它循环。例如
<input name="Lead-1" />
需要调用开关箱"Lead-1"并显示DB中的权重值,等等……因此,我将需要多个语句在我的Ajax以及显示正确的信息,因为我现在只有铅-1输入字段显示信息。
HTML<body onload="getLaneWeight();">
<form id="Warehouse_Worksheet" name="Warehouse_Worksheet">
<table align="center">
<tbody>
<tr>
<th>
Lane Types
</th>
<th>
Total Weight
</th>
</tr>
<tr>
<td>
Lead 1
</td>
<td>
<input type="text" name="Lead-1" readonly="readonly" />
</td>
</tr>
<tr>
<td>
Lead 2
</td>
<td>
<input type="text" name="Lead-2" readonly="readonly" />
</td>
</tr>
<tr>
<td>
Poly 1
</td>
<td>
<input type="text" name="Poly-1" readonly="readonly" />
</td>
</tr>
<tr>
<td>
Poly 2
</td>
<td>
<input type="text" name="Poly-2" readonly="readonly" />
</td>
</tr>
<tr>
<td>
Poly 3
</td>
<td>
<input type="text" name="Poly-3" readonly="readonly" />
</td>
</tr>
</tbody>
</table>
</form>
</body>
JS
function getLaneWeight() {
$.ajax({
type: 'GET',
url: './php/getLaneWeight.php',
data: 'Lead-1',
success: function (mydata) {
document.forms['Warehouse_Worksheet'].elements['Lead-1'].value = mydata;
},
error: function () {
},
complete: function () {
}
});
};
PHP $lane_name = array("Lead-1","Lead-2","Poly-1","Poly-2","Poly-3");
switch ($lane_name[0])
{
case "Lead-1":
$sql="SELECT SUM(weight)
FROM bundle_lanes
WHERE lane_name = 'Lead-1'";
break;
case "Lead-2":
$sql="SELECT SUM(weight)
FROM bundle_lanes
WHERE lane_name = 'Lead-2'";
break;
case "Poly-1":
$sql="SELECT SUM(weight)
FROM bundle_lanes
WHERE lane_name = 'Poly-1'";
break;
case "Poly-2":
$sql="SELECT SUM(weight)
FROM bundle_lanes
WHERE lane_name = 'Poly-2'";
break;
case "Poly-3":
$sql="SELECT SUM(weight)
FROM bundle_lanes
WHERE lane_name = 'Poly-3'";
break;
}
$result = mysql_query($sql) or die ('Error'.mysql_error());
while ($data = mysql_fetch_row($result)) {
$weight = $data[0];
echo $weight;
}
实际上,我想我刚刚找到了一种替代方法来处理这个问题,它正在工作。我只是在PHP文件中返回一个数组然后从AJax调用每个数组值:
AJAX/JS//Populate Lane Type Weight Table - JFLAY
function getLaneWeight() {
$.ajax({
url: './php/getLaneWeight.php',
dataType:'json',
success: function (weight) {
document.forms['Warehouse_Worksheet'].elements['Lead-1'].value = weight[0]['SUM(weight)'];
document.forms['Warehouse_Worksheet'].elements['Lead-2'].value = weight[1]['SUM(weight)'];
document.forms['Warehouse_Worksheet'].elements['Poly-1'].value = weight[2]['SUM(weight)'];
document.forms['Warehouse_Worksheet'].elements['Poly-2'].value = weight[3]['SUM(weight)'];
document.forms['Warehouse_Worksheet'].elements['Poly-3'].value = weight[4]['SUM(weight)'];
},
error: function () {
}
});
};
PHP $lane_name = array("Lead-1","Lead-2","Poly-1","Poly-2","Poly-3");
//Define JSON array
$array = array();
foreach ($lane_name as $value) {
$sql="SELECT SUM(weight)
FROM bundle_lanes
WHERE lane_name = '$value'";
$result = mysql_query($sql) or die ('Error'.mysql_error());
while ($data = mysql_fetch_array($result)) {
$array[] = $data;
}
}
print json_encode($array);