所以下面的代码在右边和左边一个旁边创建一个2个框。我现在需要开始新的一行,但无法弄清楚如何。 MySQL为每个盒子换了一个新行,但我每隔一个盒子就需要它......有什么想法吗?
图像显示了我需要在每一行上重复的内容(代码现在所做的):
CODE:
<table width="90%" height="166" border="1" align="center" cellpadding="3" cellspacing="3">
<tr>
<?
if (isset($_GET['id'])) {
$proid = $_GET['id'];
$result = mysqli_query($con,"SELECT * FROM auction_products WHERE id = $proid");
} else {
$result = mysqli_query($con,"SELECT * FROM auction_products");
}
while($row = mysqli_fetch_array($result))
{
?>
<td width="50%">
<TABLE BORDER="0" CELLPADDING="3" CELLSPACING="3" align="center">
<TD>
<p>Input : <? echo $row['barcode'] ?><br />
Barcode : Codabar<br />
Check Digit : N.A.<br /><br />
</p>
</TD>
<TD>
|<br />
|<br />
|<br />
|
</TD>
<TD>
Winner #______<br />
Amount $______
</TD>
</TABLE>
<center>
<div id="barcodecontainer" style="width:5in">
<div id="barcode<? echo $row['id']?>" ><? echo $row['barcode']?></div>
</div>
<br />
<script type="text/javascript">
/* <![CDATA[ */
function get_object(id) {
var object = null;
if (document.layers) {
object = document.layers[id];
} else if (document.all) {
object = document.all[id];
} else if (document.getElementById) {
object = document.getElementById(id);
}
return object;
}
get_object("barcode<? echo $row['id']?>").innerHTML=DrawHTMLBarcode_Code128B(get_object("barcode<? echo $row['id']?>").innerHTML,"yes","in",0,2.5,1,"bottom","center","","black","white");
/* ]]> */
</script>
</center>
</td>
<? } ?>
</tr>
</table>
答案 0 :(得分:0)
简单的答案是这样的:
$i=0;
while($row = mysqli_fetch_array($result)){
echo '<td>';
/* Some code here */
echo '</td>';
if( $i++ &1==0 ){ echo '</tr><tr>' ;} // Start new line
}
魔术发生在if语句中,即按位比较,它检查二进制表示法中的'ones'是否等于0.这只发生在$i
的偶数时间。
1&1 == 1 (1 in binairy is 001)
2&1 == 0 (2 in binairy is 010)
3&1 == 1 (3 in binairy is 011)
4&1 == 0 (4 in binairy is 100)
5&1 == 1 (5 in binairy is 101)
etc :) ^--- we use this to check
对于奇数/偶数这是我所知道的最快的方法(我很想知道是否有更快的方法)。
这种方法对于奇数/偶数非常容易,但不适用于每个3日,7日,21日等。为此,我们有模数:
if( $i%7===0 ){ /* ... */ }
如果你扣除7的最大数量,那么测试剩下多少整数。再一次,例子:
7 % 2 === 1 (7-2-2-2 = 1, cant subtract another 2)
9 % 6 === 3 (9-6 = 3, cant subtract another 6)
9 % 2 === 1 (9-2-2-2-2 = 1, cant subtract another 2)
123 % 8 === 3 (123 -(15*8)=3, cant subtract another 8)
您可以将$i%2
等模块用于奇数/偶数,但模数是一段昂贵的代码,只在您需要时使用。