发送2个变量onclick

时间:2017-01-04 20:14:54

标签: javascript php html

我有一个while循环语句来回显数据库中的一些信息。每个循环都有一个按钮。当我点击该按钮时,我想发送2个值,并且具有这两个值的更新功能。到目前为止,我只得到了1.另一个是空白的。我希望通过javascript或普通的href =""来获取id。这是我的while循环

while ($row = mysqli_fetch_array($query)){
    $productimg = $row["Product_Image"];
    $productname = $row["Product_Name"];
    $price = $row["Product_Price"];
    $quantity = $row["Quantity"];
    $seller = $row["Product_Seller"];
    $cartid = $row["Cart_ID"];
    $newimg = str_replace(' ', '%20', $productimg);
    echo "<div class='cartcontent'>";
    echo "<div class='s1'><a href='itemview.php?ID=$productname'><img src=$newimg /></a></div>";
    echo "<div class='s2'><div class='s2t'><a href='itemview.php?ID=$productname'>$productname </a> &nbsp; <h2>Sold By $seller</h2></div><div class='s2b'><a href='?deletecartid=$cartid'>Delete</a> &nbsp;&nbsp; <a href='?saveforlaterid=$cartid'>Save for later</a></div></div>";
    echo "<div class='s3'>$price</div>";
    echo "<div class='s4'>";
    include 'itemquantity.php';//this page class="qty2"
    echo "&nbsp;&nbsp;<a href='?updateid=$cartid?quant=".$_GET['qty2']."'>Update</a>";//this is what i am struggling with
    echo "</div></div>";
    echo "?updateid=$cartid?quant=".$_GET['test']."";//just to see what i am getting
    $count++;
}  

我甚至尝试从itemquantity.php中的下拉列表中获取javascript中的on onchange方法的值,其类为qty2。

function getquant(){
var e = document.getElementsByClassName("qty2")[0];
var qty = e.options[e.selectedIndex].value;
alert(qty);
document.getElementById("test").innerHTML = qty;
};

这是isset get函数

if(isset($_GET['updateid'])){
$updateid = $_GET['updateid'];
$updatequant = $_GET['quant'];
$query = mysqli_query($conn, "UPDATE cart SET Quantity = '$updatequant' WHERE Cart_ID = '$updateid'");}

我已经看到有关XMLhtml和cookie的一些信息,但是它们有些不起作用,所以我不知道还有什么可以做。大声笑。

如果有人知道如何或有工作方法,将不胜感激!

编辑:只是为了澄清$ _GET [&#39; qty2&#39;]在itemquantity.php(包含在我的while循环中)里面,它是一个下拉列表。 这就是itemquantity.php的样子

<select placeholder='quantity' class='qty2' id='qty2' onchange="getquant()" value='<?php print_r($cartid);?>'>
        <option value='1' <?php if ($quantity == '1') echo ' selected="selected"'; ?>>1</option>
        <option value='2' <?php if ($quantity == '2') echo ' selected="selected"'; ?>>2</option>
        <option value='3' <?php if ($quantity == '3') echo ' selected="selected"'; ?>>3</option>
        <option value='4' <?php if ($quantity == '4') echo ' selected="selected"'; ?>>4</option>
        <option value='5' <?php if ($quantity == '5') echo ' selected="selected"'; ?>>5</option>
        <option value='6' <?php if ($quantity == '6') echo ' selected="selected"'; ?>>6</option>
        <option value='7' <?php if ($quantity == '7') echo ' selected="selected"'; ?>>7</option>
        <option value='8' <?php if ($quantity == '8') echo ' selected="selected"'; ?>>8</option>
        <option value='9' <?php if ($quantity == '9') echo ' selected="selected"'; ?>>9</option>

下拉列表位于get方法中,类为&#39; qty2&#39; ID =&#39; qty2&#39;平变化=&#34; getquant()&#34;值=&#39;

1 个答案:

答案 0 :(得分:0)

通过在放入静态HTML之前停止PHP解析器,您可以更轻松地解决此问题。

以下是您应该为loop

编写代码的方法
while ($row = mysqli_fetch_array($query)){
    $productimg = $row["Product_Image"];
    $productname = $row["Product_Name"];
    $price = $row["Product_Price"];
    $quantity = $row["Quantity"];
    $seller = $row["Product_Seller"];
    $cartid = $row["Cart_ID"];
    $newimg = str_replace(' ', '%20', $productimg);

    // end PHP processor
    ?>  
     <div class='cartcontent'>
     <div class='s1'><a href='itemview.php?ID=<?php print_r($productname);?>'>
     <img src='<?php print_r($newimg);?>' /></a></div>

    etc etc.

    <?php
     // now start the PHP processor again and finish out the loop


       $count++;
     }

包含此行的问题:

&nbsp;&nbsp;<a href='?updateid=$cartid?quant=".$_GET['qty2']."'>Update</a>

是你应该做的?updateid=$cartid?quant=

?updateid=$cartid&quant=

多个查询值应使用&分隔,因为?仅属于查询字符串的开头