首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Ajax数据传递到PHP数组切换用例中以处理SQL数据

将Ajax数据传递到PHP数组切换用例中以处理SQL数据
EN

Stack Overflow用户
提问于 2013-04-16 23:33:26
回答 1查看 986关注 0票数 0

我有5个HTML输入字段,每个都必须有自己的车道权重相应地显示。我不确定在这里需要如何使用Ajax,但我需要能够将每个车道名称发送到PHP,并将这些值返回到HTML中各自的输入字段。所有文件都是独立的。到目前为止,如果我硬编码PHP变量"lane_name",它就可以工作,但我需要它根据需要它的输入字段在车道名称之间循环。例如,

代码语言:javascript
复制
<input name="Lead-1" /> 

需要将开关箱命名为"Lead-1“,并显示DB中的权重值,依此类推……因此,我还需要使用Ajax的多个语句来显示正确的信息,因为我现在只有Lead-1输入字段显示信息。

HTML

代码语言:javascript
复制
<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

代码语言:javascript
复制
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

代码语言:javascript
复制
$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;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-17 00:57:09

实际上,我想我找到了另一种方法来做这件事,它是有效的。我只是在PHP文件中返回一个数组,然后调用AJax中的每个数组值:

AJAX/JS

代码语言:javascript
复制
//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

代码语言:javascript
复制
$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);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16041139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档