我有一个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> <h2>Sold By $seller</h2></div><div class='s2b'><a href='?deletecartid=$cartid'>Delete</a> <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 " <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;
答案 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++;
}
包含此行的问题:
<a href='?updateid=$cartid?quant=".$_GET['qty2']."'>Update</a>
是你应该做的?updateid=$cartid?quant=
?updateid=$cartid&quant=
多个查询值应使用&
分隔,因为?
仅属于查询字符串的开头