格式化动态生成的复选框?

时间:2015-10-19 14:18:57

标签: php

我有一个从XML文件中收集信息的系统,对于导出器我一直在尝试创建一个系统,它从SQL表中收集独特的印记然后输出它们。将它用于导出查询,这样我们就可以只导出我们当时所处的内容了。不是一切。

我所拥有的代码做得很好但是我一直在尝试将其格式化为一个表,并且每7/8次迭代就会启动一个新的表行但是此时我没有成功,有167行目前我希望它看起来比一个庞大的列表更好(并且更容易使用)。

我目前的代码如下:

    <table>
<form action="exporttrade.php" method="post">
<b>Please Select imprints you wish to Export for <client></b><br />

<?PHP
mysql_connect('server', 'user', 'password');
mysql_select_db("database");

    $sql ="SELECT distinct imprint FROM table";
    $results= mysql_query($sql);
    while( $imprint = mysql_fetch_assoc($results) ):
?>

    <tr><td><?php echo $imprint['imprint']; ?></td><td><input type="checkbox" name="imprint[]" value="<?php echo $imprint['imprint']; ?>"/></td></tr>

<?php endwhile; ?>

我一直在尝试使用我在网上看到的计数器和模数函数来插入每第n行的代码(在这种情况下将是结尾&lt; / tr&gt;标记。这里有没有人知道你如何成功地做我追求的是什么?我现在对如何格式化这一点感到有点困惑:/

编辑 - 只是一个抬头设法让这个工作,因为我想它现在使用以下:

$imprints=grab_array($sql);
foreach ($imprints as $imprint){
$imprint=$imprint['imprint'];
$counter++;
if($counter % 8 == 0){
    echo "</tr><tr>";
}
?>
<td><?php echo $imprint; ?></td><td><input type="checkbox" name="imprint[]" value="<?php echo $imprint; ?>"/></td>
<?PHP
   }    
?>

1 个答案:

答案 0 :(得分:0)

试试这段代码。

<table>
<form action="exporttrade.php" method="post">
<b>Please Select imprints you wish to Export for <client></b><br />

<?PHP
mysql_connect('server', 'user', 'password');
mysql_select_db("database");
$count = 0;
    $sql ="SELECT distinct imprint FROM table";
    $results= mysql_query($sql);
    while( $imprint = mysql_fetch_assoc($results) ):
    if($imprint)
{
 count++;
}
while($count <= 8)
?>
    <tr><td><?php echo $imprint['imprint']; ?></td><td><input type="checkbox" name="imprint[]" value="<?php echo $imprint['imprint']; ?>"/></td></tr> 

<?php 
$count = 0;  echo '<tr><td> New Row after 8 </td> </tr>'?>
<?php continue ?>
<?php endwhile; ?>
<?php endwhile; ?>

你可以使用这个逻辑。