从表中删除TR

用户名

我通过PHP echo绘制了一个表,其中包含来自SQL查询的一些数据。这是购物车脚本。因此,当客户单击以从购物车中删除某些项目时,我想从表中删除该TR。为此,我将调用javascript函数'removefromcart',传递项目ID和行索引。因此,此函数将从SQL中删除购物车中的商品,并使用行索引从表中删除TR。这是我要尝试做的事情:

        <?php
            $uid = mysql_real_escape_string($_SESSION['userlogged']);
            $Query = mysql_query("SELECT id, info FROM cart where username = '$uid'");
            while($row = mysql_fetch_array($Query))
            {
                echo '<tr id="OrderTable"> <td> '.htmlspecialchars($row["info"], ENT_QUOTES, 'UTF-8').' </td>';
                $id = $row['id'];
                $NewQuery = mysql_query("SELECT name, date, country, flag, code, med, price FROM products WHERE id = '$id'");
                while($newrow = mysql_fetch_array($NewQuery))
                {
                    echo '<td> '.htmlspecialchars($newrow["name"], ENT_QUOTES, 'UTF-8').' </td>';   
                    echo '<td> '.htmlspecialchars($newrow["date"], ENT_QUOTES, 'UTF-8').' </td>';
                    echo '<td> '.htmlspecialchars($newrow["country"], ENT_QUOTES, 'UTF-8').' </td>';
                    echo '<td> '.htmlspecialchars($newrow["flag"], ENT_QUOTES, 'UTF-8').' </td>';
                    echo '<td> '.htmlspecialchars($newrow["code"], ENT_QUOTES, 'UTF-8').' </td>';
                    echo '<td> '.htmlspecialchars($newrow["med"], ENT_QUOTES, 'UTF-8').' </td>';
                    echo '<td> '.htmlspecialchars($newrow["price"], ENT_QUOTES, 'UTF-8').' </td>';
                    echo '<td><label><a href="javascript:buyfromcart('.htmlspecialchars($row['id'], ENT_QUOTES, 'UTF-8').')">
                                        <b><img src="/img/buy.png" /></b></a></label>
                                        <label>
                                        <script>
                                            var x = document.getElementById("OrderTable").rowIndex;
        document.write(\'<a href="javascript:removefromcart('.htmlspecialchars($row['id'], ENT_QUOTES, 'UTF-8').', \'+ x +\')"><b><img src="/img/cancel.png"/></b></a></label> </td> </tr>\') </script>';
                }
            }


         ?>
        </table>
        </div>

但是href中的cancel.png图片链接是:

javascript:removefromcart(3, 1)

产品的ID(OK)为3,但表中每个TR的第二个参数始终为1 ...为什么没有获得TR的当前行索引?

生成的HTML输出为:

<html>
<head>
    <link rel="stylesheet" href="./css/style.css">
    <title>Shop.su</title>
    <script type="text/javascript">

    function load(url) {
    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) {
           document.getElementById('cart').innerHTML = 'Your orders ('+xmlhttp.responseText+')';
        }
    }

    xmlhttp.open('GET', url, true);
    xmlhttp.send();
    }

    function addtocart(id)
    {
        document.getElementById('add'+id).innerHTML='<b>Added!</b>';
        load('/cart.php?addtocart&dump='+id);
    }

    function removefromcart(id, x)
    {
        alert("Row index is: " + x.rowIndex);   
    }
    </script>
</head>
<body id="home">
    <div id='cssmenu'>
<ul>
   <li id="homeicon" class='active'><a href='?news'><span>News</span></a></li>
   <li id="ordersicon"><a href='?orders'><span id="cart">Your Orders (11)</span></a></li>
   <li id="ticketicon" class='last'><a href='?tickets'><span>Tickets</span></a></li>
</ul>
</div>    <div id="container">
        <p class="orderpage"> Your current cart items:: </p>
<div class="ResultsTable" >
                <table >
                <tr>
                <td>
                    Type
                </td>
                <td>
                    Name
                </td>
                <td>
                    Date
                </td>
                <td>
                    Country
                </td>
                <td>
                    Flag
                </td>
                <td>
                    Code
                </td>
                <td>
                    Med.
                </td>
                <td>
                    Price
                </td>
                <td>
                    Buy
                </td>
                </tr>
                <tr id="OrderTable"> <td> Mirror </td><td> NewName </td><td> 456789 </td><td> USA </td><td> VISA </td><td> 101 </td><td> 1409 </td><td> 10.00 </td><td><label><a href="javascript:buyfromcart(3)">
                                                <b><img src="/img/buy.png" /></b></a></label>
                                                <label>
                                                <script>
                                                    var x = document.getElementById("OrderTable").rowIndex;
                document.write('<a href="javascript:removefromcart(3, '+ x +')"><b><img src="/img/cancel.png"/></b></a></label> </td> </tr>') </script><tr id="OrderTable"> <td> Track </td><td> New Base123123 </td><td> 456789 </td><td> Brazil </td><td> TEST </td><td> 101 </td><td> 1409 </td><td> 10.00 </td><td><label><a href="javascript:buyfromcart(4)">
                                                <b><img src="/img/buy.png" /></b></a></label>
               </table>
                </div>    </div>
</body>
</html>
亚历克斯·安杰利科(Alex Angelico)

我会做类似的事情:

while($row = mysql_fetch_array($Query))
{
   cont++;
   echo '<tr id="myrow' . cont . '">

接着:

javascript:removefromcart('. $row['id'] .', ' . $cont ')...

顺便说一句,我认为您应该使用PDO

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章