PHP foreach循环,需要循环从数据库获取数据,但它也循环我的形式


PHP foreach loop, need loop to get data from db, but it is also looping my forms

所以我在数据库中有一个类别表,每个类别都有一定数量的步骤分配给它。我想有所有的类别显示为标签标题与类别名称,所以我需要这个从数据库。然后,我在制表符中有一个表单来插入该类别所需的步骤,但是这个表单正在循环…我需要它在foreach中获得类别id,但没有循环的形式…希望这是有意义的…

下面是我的代码:
<?php foreach($categories as $category){ ?>
    <div id="<?php echo $category->category ?>" class="tab">
         <form id="maxSteps" method="POST" name="maxSteps" action="<?php $PHP_SELF; ?>" enctype="multipart/form-data">
             <label for="maxSteps">Amount of steps in form: </label><input style="width:50px;" id="maxSteps" type="text" name="maxSteps" />
             <input type="hidden" name="catId" value="<?php echo $category->cat_id; ?>" />
             <input type="Submit" value="Go" name="maxStepsSubmit" />
         </form>
         <table id="amountOfStepsForm">
         <?php $maxStepsById = $wpdb->get_results( "SELECT * FROM metal_work_max_steps WHERE cat_id = '$category->cat_id'" ); ?>
         <?php foreach($maxStepsById as $maxStep){ ?>
             <tr><td id="maxStepsRow<?php echo $maxStep->id; ?>"><?php echo "<p>Amount of steps in form is: <b>".$maxStep->steps."</b>" ?></td><td id="editRow<?php echo $maxStep->id; ?>"><a id="<?php echo $maxStep->id; ?>" class='edit'>Edit</a></td></tr>
             <input type="hidden" name="catId" value="<?php echo $category->cat_id; ?>" id="catId<?php echo $maxStep->id; ?>" />
         <?php } ?>
         </table>
    </div>
  <?php } ?>

您能做的最好的事情是只运行一个查询并检索关联数组中的所有数据。然后循环遍历这个数据结构。

查询可以使用JOIN语句来完成,以便检索有关每个类别的最大步骤的信息。

1-将Form标签置于for循环的上方

2- <input type="hidden" name="catId" val...需要有动态名称:name="catId_<?php echo $category->cat_id;?>"

3-按钮Submit标签GO, Form的close标签需要在for循环之外(下面)

所以所有的字段都是1个形式,你会有一个提交按钮,如果你需要的话,而且字段名不一样,所以提交时你可以读取所有字段

这些都是一般性的评论,我想你需要注意一下。