PHP foreach循环,需要循环从db获取数据,但它也在循环我的表单

PHP foreach循环,需要循环从db获取数据,但它也在循环我的表单,php,foreach,Php,Foreach,所以我的数据库中有一个categories表,每个categories都有一定数量的步骤分配给它。我想让所有的类别显示为标签标题与类别名称,所以我需要从数据库这一点。然后,我在选项卡中有一个表单,用于插入该类别所需的步骤数量,但此表单正在循环。。。我需要它在foreach中获取类别id,但不需要表单循环。。。希望这是有道理的 这是我的密码: <?php foreach($categories as $category){ ?> <div id="<?php ec

所以我的数据库中有一个categories表,每个categories都有一定数量的步骤分配给它。我想让所有的类别显示为标签标题与类别名称,所以我需要从数据库这一点。然后,我在选项卡中有一个表单,用于插入该类别所需的步骤数量,但此表单正在循环。。。我需要它在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 } ?>


注意

1-将
表单
标记置于for循环上方


2-
您可以做的最好的事情是只运行一个查询并检索关联数组中的所有数据。然后循环使用这个数据结构


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

对于记录,如果可以避免的话,在循环内部运行查询通常是个坏主意。数据库调用是在PHP中可以进行的比较昂贵的操作之一。很好的一点,我认为下面的答案肯定是更好的选择,但是,谢谢!:谢谢,这绝对是一个更好的选择。