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


select and retrieve data from cells in an HTML table using 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>

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

你的Javascript将你的表卷成一个序列化的格式,然后将它传递给PHP。然后,PHP将表数据读取为一个很长的字符串。

你想做的是使用RegEx解析出字符串中的各种值,你最终会更好地长期学习RegEx而不是导入一个新的函数。我也同意AeroX,因为你控制应用程序的两边,你最好传入JSON或XML,然后你可以很容易地遍历它。

最后但并非最不重要的是,您确实需要对输入进行消毒。这段代码:

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

是不安全的代码。