从PHP foreach添加变量到bootstrap模式

时间:2014-04-30 23:28:08

标签: javascript php

我在php foreach语句中有一个加载模态的按钮。我怎样才能将特定的id($ animalid)传递给模态?我有它的工作,但模态将在每个模态弹出窗口中加载相同的ID。请参阅下面的我的php foreach代码以及模态的一部分。

$pdo2 = Database::connect();
               $sql2 = 'SELECT * FROM animals WHERE riderid = '.$data[id].' AND hp != "Choose One"';
               foreach ($pdo2->query($sql2) as $row) {
                        echo '<tr>';
                        echo '<td>'. $row['hp'] . '</td>';
                        echo '<td>'. $row['hpname'] . '</td>';
                        echo '<td>'. $row['hpage'] . '</td>';
                        echo '<td>'. $row['hpcolour'] . '</td>';
                        echo '<td>'. $row['hpmicro'] . '</td>';
                        echo '<td>';
                        echo '<button class="btn btn-default btn-xs" id="float-right" data-toggle="modal" data-target=".bs-example-modal-lg-2"><span class="glyphicon glyphicon-pencil"></span> Update</button>';
                        echo ' ';
                        echo '<a class="btn btn-default btn-xs" href="#"><span class="glyphicon glyphicon-trash"></span> Delete</a>';
                        echo '</td>';
                        echo '</tr>';
                        $animalid = $row['id'];
               }

               Database::disconnect();
              ?>

模态代码

<div class="modal-body">




        <form name="editanimal" id="editanimal" class="form-horizontal" action="updateanimal.php" method="post">

        <span class="form-break">

        <?php 
        // Get Animal id
        //$animalid = $data['id'];
        echo $animalid;
        ?>

2 个答案:

答案 0 :(得分:1)

$animalid在循环中。如果要使用该值,可以将数据存储到其他阵列并使用它。希望你能得到一些灵感。

<强> PHP:

<?php
$pdo2 = Database::connect();
$sql2 = 'SELECT * FROM animals WHERE riderid = '.$data[id].' AND hp != "Choose One"';

$list = array();

foreach ($pdo2->query($sql2) as $row) {

  $item = array();

  $content = '<tr>';
  $content .= '<td>'. $row['hp'] . '</td>';
  $content .= '<td>'. $row['hpname'] . '</td>';
  $content .= '<td>'. $row['hpage'] . '</td>';
  $content .= '<td>'. $row['hpcolour'] . '</td>';
  $content .= '<td>'. $row['hpmicro'] . '</td>';
  $content .= '<td>';
  $content .= '<button class="btn btn-default btn-xs" id="float-right" data-toggle="modal" data-target=".bs-example-modal-lg-2"><span class="glyphicon glyphicon-pencil"></span> Update</button>';
  $content .= ' ';
  $content .= '<a class="btn btn-default btn-xs" href="#"><span class="glyphicon glyphicon-trash"></span> Delete</a>';
  $content .= '</td>';
  $content .= '</tr>';

  $item['id'] = $row['id'];
  $item['content'] = $content;

  $list[] = $item;

}

Database::disconnect();
?>

<强> HTML:

<div class="modal-body">
  <form name="editanimal" id="editanimal" class="form-horizontal" action="updateanimal.php" method="post">
    <span class="form-break"></span>
    <?php foreach($list as $item){ ?>
      <?php echo $item['id'];?>
    <?php } ?>
    or..
    <table>
      <?php foreach($list as $item){ ?>
          <?php echo $item['content'];?>
      <?php } ?>
    </table>
    <!-- ... -->
  </form>
</div>

答案 1 :(得分:0)

每次遍历foreach循环时,

$animalid都会被覆盖。您必须构建一个数组来保存所有的动物,并将其传递给您的模态,或者在迭代循环时打印出id。