首先,当谈到编码时,请务必温柔。 我有一个php while循环和循环内部我有一个带有Id的文本输入类型的表单,如何使id唯一或++?
$list = '';
while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)){
$pro_id = $row['product_id'];
$pro_cat = $row['product_cat'];
$pro_makat = $row['product_makat'];
$pro_title = $row['product_title'];
$pro_price = $row['product_price'];
$pro_image = $row['product_image'];
$pro_qty = $row['product_qty'];
$pro_fullprice = $row['product_fullprice'];
$checkforqty = "select product_qty from products";
$runcheck = mysqli_query($con, $checkforqty);
$i = 1;
if($pro_qty == 0){
$list .= "<div id='single_product' >
<a href='details.php?pro_id=$pro_id'><img src='admin_area/product_images/$pro_image' width='100%' height='60%' /></a>
</br>
<h3>$pro_title</h3>
<p style='color:gray; text-decoration: line-through;'> $pro_fullprice ₪ :מחיר</p>
<p style='color:#ff66ff; font-weight: bold; '> $pro_price ₪ :מחיר שלנו</p>
</br>
<a href='#'><button class='button_addCart' style='background-color:gray;'>הוסף לסל</button></a>
<p style='font-size:10px; color:red;'>מוצר זה אזל במלאי</p>
</div>";
} else {
$list .= "<div id='single_product'>
<a href='details.php?pro_id=$pro_id'><img src='admin_area/product_images/$pro_image' width='100%' height='60%' /></a>
</br>
<h3>$pro_title</h3>
<p style='color:gray; text-decoration: line-through;'> $pro_fullprice ₪ :מחיר</p>
<p style='color:#ff66ff; font-weight: bold; '> $pro_price ₪ :מחיר שלנו</p>
</br>
<a href='index.php?add_cart=$pro_id'><button class='button_addCart'>הוסף לסל</button></a>
<form name='f1' method='post'>
<input type='button' name='inc' onclick='javascript:document.getElementById(\"$i++\").value++;' value='+' />
<input type='text' size='1' name='quan' id='$i++' value='1' />
<input type='button' name='dec' onclick='javascript:document.getElementById(\"$i++\").value--;' value='-' />
</form>
</div>";
}
}
编辑了代码,我的最终目的是给循环底部的表单赋予唯一的id,这样JS可以在表单之间有所不同
答案 0 :(得分:0)
你可以做这样的事情
<?php
$i=0;
while($i<10){
echo '<input type="text" id="'.$i.'">';
$i++;
}
?>
答案 1 :(得分:0)
您的代码输出$ i的值然后增加它。所以inc和dec不使用quan使用的id。
首先生成你的id,然后将它用于所有3个元素。
<?php
$id = bin2hex(openssl_random_pseudo_bytes(8));
echo <<< EOMF
<form name='f1' method='post'>
<input type='button' name='inc' onclick='javascript:document.getElementById("$id").value++;' value='+' />
<input type='text' size='1' name='quan' id='$ic' value='1' />
<input type='button' name='dec' onclick='javascript:document.getElementById("$id").value--;' value='-' />
</form>
EOMF;
或使用您的代码
$id = bin2hex(openssl_random_pseudo_bytes(16));
$list .= <<< EOMF
<div id='single_product'>
<a href='details.php?pro_id=$pro_id'><img src='admin_area/product_images/$pro_image' width='100%' height='60%' /></a>
</br>
<h3>$pro_title</h3>
<p style='color:gray; text-decoration: line-through;'> $pro_fullprice ₪ :מחיר</p>
<p style='color:#ff66ff; font-weight: bold; '> $pro_price ₪ :מחיר שלנו</p>
</br>
<a href='index.php?add_cart=$pro_id'><button class='button_addCart'>הוסף לסל</button></a>
<form name='f1' method='post'>
<input type='button' name='inc' onclick='javascript:document.getElementById("$id").value++;' value='+' />
<input type='text' size='1' name='quan' id='$id' value='1' />
<input type='button' name='dec' onclick='javascript:document.getElementById("$id").value--;' value='-' />
</form>
</div>
EOMF;
答案 2 :(得分:0)
试试这个:
$ i = 1;
if($pro_qty == 0){
$list .= "<div id='single_product' >
<a href='details.php?pro_id=$pro_id'><img src='admin_area/product_images/$pro_image' width='100%' height='60%' /></a>
</br>
<h3>$pro_title</h3>
<p style='color:gray; text-decoration: line-through;'> $pro_fullprice ₪ :מחיר</p>
<p style='color:#ff66ff; font-weight: bold; '> $pro_price ₪ :מחיר שלנו</p>
</br>
<a href='#'><button class='button_addCart' style='background-color:gray;'>הוסף לסל</button></a>
<p style='font-size:10px; color:red;'>מוצר זה אזל במלאי</p>
</div>";
} else {
$list .= "<div id='single_product'>
<a href='details.php?pro_id=$pro_id'><img src='admin_area/product_images/$pro_image' width='100%' height='60%' /></a>
</br>
<h3>$pro_title</h3>
<p style='color:gray; text-decoration: line-through;'> $pro_fullprice ₪ :מחיר</p>
<p style='color:#ff66ff; font-weight: bold; '> $pro_price ₪ :מחיר שלנו</p>
</br>
<a href='index.php?add_cart=$pro_id'><button class='button_addCart'>הוסף לסל</button></a>
<form name='f1' method='post'>
<input type='button' name='inc' onclick='javascript:document.getElementById(\"$i++\").value++;' value='+' />
<input type='text' size='1' name='quan' id='."$i++."' value='1' />
<input type='button' name='dec' onclick='javascript:document.getElementById(\"$i++\").value--;' value='-' />
</form>
</div>";
</form>
</div>";
}
}
答案 3 :(得分:0)
您可以从
更新表单 <form name='f1' method='post'>
要
<form name='f1' id='".$pro_id."' method='post'>
您的每个表单都有一个唯一的ID。
答案 4 :(得分:0)
您可以使用此解决方案
制作一个功能:
function change_value(operation, id){
if(operation)
document.getElementById(id).value++;
else
document.getElementById(id).value--;
}
然后:
$list.= "<input type='button' name='inc' onclick='change_value(true,".$i.");' value='+' />
<input type='text' size='1' name='quan' id='".$i."' value='1' />
<input type='button' name='dec' onclick='change_value(false,".$i.");' value='-' />";
$i++;