使用PHP从HTML表格中的单元格中选择和检索数据

时间:2014-07-07 16:45:46

标签: php

我通过以下代码使用javascript将此表传递到php文件:

    var tbl = document.getElementById("prtable").innerHTML;
    save(tbl);

    function save(tbl)
    {
        var xmlhttp;

        if (window.XMLHttpRequest)
                {// code for IE7+, Firefox, Chrome, Opera, Safari
                    xmlhttp=new XMLHttpRequest();
                }
                else
                {// code for IE6, IE5
                    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
                }
                xmlhttp.onreadystatechange=function() 
                {
                    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
                    {


                    }
                }
                xmlhttp.open("POST", "save.php", true);
                xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
                xmlhttp.send("q=" +tbl);
            }
}

然后在PHP文件中:

    $table = $_POST['q'];
    echo $table;   //test display

有没有办法像这样做才能选择表格中的特定单元格?

document.getElementById('tableID').rows.item(1).getElementsByTagName("td")[0].innerHTML

php是否具有此javascript代码的等效代码?

我想要做的是能够检索每个元素中的数据。我已经在网上搜索了答案但是我已经被困在这个问题上好几个小时了。如果有人能帮助我,我们将不胜感激。

谢谢!

顺便说一句,echo $ table测试显示如下:

<tr>
    <th>PR Number</th>
    <th>Item Code</th>
    <th>Description</th>
    <th>Unit of Measure</th>
    <th>Price</th>
    <th>Quantity</th>
    <th>Amount</th>
</tr>
<tr><td>PR001</td><td>IC001</td><td>Gloves (Plastic)</td><td>Pc</td><td>20.00</td><td>2</td><td>40.00</td></tr><tr><td>PR001</td><td>IC002</td><td>Gloves (Rubber)</td><td>Pc</td><td>25.00</td><td>3</td><td>75.00</td></tr></thead>

1 个答案:

答案 0 :(得分:0)

简短的回答是否定的,没有原生的PHP函数来做你想做的事情。您需要了解您的Javascript和PHP代码实际上在做什么。

您的Javascript正在将您的表格转换为序列化格式,然后将其传递给PHP。然后,您的PHP只会将您的表数据读取为一个非常长的字符串。

你想要做的是使用RegEx来解析字符串中的各种值,并且你最终会在长期学习RegEx时更好地服务而不是导入新函数。我也同意AeroX,因为你控制应用程序的两面,你可能最好传递JSON或XML,然后你可以很容易地迭代它。

最后但并非最不重要的是,您真的想要消毒您的输入。这段代码:

$table = $_POST['q'];
echo $table;   //test display

是不安全的代码。