【发布时间】:2014-10-28 21:07:18
【问题描述】:
嘿,伙计们,我需要问的是如何使用 while 循环来循环 javascript 因为我的代码是这样的
$i=0;
while($row = mysqli_fetch_array($result)) {
echo '<div class="grid_1_of_4 images_1_of_4" >
<form method="post" action="......">
<a class = "popup-link" href = "'.$row['shade_enlarged_img'].'" alt = "" title = "'.$row['shade_desc'].'">
<img src="'.$row['shade_img'].'" alt="" title = "click to enlarge"/> </a>
<h2>'.$row['shade_desc'].'</h2>
<p style="font-size:0.95em"><b>Code: '.$row['shade_code'].'</b></p>
<p>Category: '.$row['categories'].'</p>';
$code=$row['shade_code'];
$result_quantity = mysqli_query($con,"SELECT ...........);
$num_of_rows=mysqli_num_rows($result_quantity);
$count=0;?>
<script>
function showUser(str) {
if (str=="") {
document.getElementById("txtHint<?php echo $i; ?>").innerHTML="";
return;
}
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
var url = "getprice.php?brand=<?php echo $row['brand_name']; ?>&category=<?php echo $row['categories'];?>&q="+str;
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("txtHint<?php echo $i; ?>").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET",url,true);
xmlhttp.send();
}
</script> <?php
echo '<p style="font-size:0.71em">Available Packaging: <select name="product_qty" onchange="showUser(this.value)" style="margin-left:4px; font-size:1.02em;">
<option value=""></option>';
while($row_quantity = mysqli_fetch_array($result_quantity)) {
echo '<option value="'.$row_quantity['quantity'].'">'.$row_quantity['quantity'].' '.$row_quantity['quantity_unit'].'</option>';
}
echo '</select></p>';
echo '<div id="txtHint'.$i.'"><b>Person info will be listed here.</b></div>';
echo '</p>';
echo '<p style="font-size:0.71em">Quantity: <input type="number" style="display:inline; width:50px;" name="number_of_units" min="1"></p>';
echo '<button class="button"><span class="cart-button"><img src="images/cart.jpg" alt="" />Add to Cart</span> </button>
<input type="hidden" name="product_code" value="'.$row['shade_code'].'" />
</form>
</div>'; $i++;
代码运行良好,但由于我通过 mysqldatabase 的 while 循环调用所有项目,所以当我运行此代码时,这只适用于第一个项目,其余项目不起作用.. 观看此图像以快速查看http://imgur.com/2qM0FzX
【问题讨论】:
-
用while循环回显它
-
实际上商品有 3 种类型,这 3 种类型有 3 个价格,所以它只是变得奇怪
-
在循环外呼应
$row_quantity['price']在最后一行很奇怪。你确定它应该是$row_quantity['price']吗?这将是循环完成时的最后一个值。 -
对不起,我刚刚编辑了现在看到的代码!
标签: javascript php mysql loops while-loop