PHP和Bootstrap模态变量

时间:2014-10-23 08:46:46

标签: javascript php twitter-bootstrap modal-dialog

希望有人可以帮助我。 我有一个表格,其中包含我的数据的while语句。现在我想要在模态窗口中显示每行的数据。

<table id="example1" class="table table-bordered table-striped">
<thead>
    <tr>
        <th>ID</th>
        <th>Marke</th>
        <th>Modell</th>
        <th>Baujahr</th>
        <th>Aktion</th>
    </tr>
</thead>
<tbody>';
// Holen des Ergebis in die Variable $erg
while($erg_motor = mysqli_fetch_assoc($db_erg_motor))
#print_r($erg_motor);
{
    $body.='
    <tr>
        <td>'.$erg_motor['id'].'</td>
        <td><input name="motor_fabrikat" value="'.$erg_motor['motor_fabrikat'].'"></td>
        <td><input name="motor_modell" value="'.$erg_motor['motor_modell'].'"></td>
        <td><input name="motor_ez" value="'.$erg_motor['motor_ez'].'"></td>
        <td><button class="btn btn-primary" data-toggle="modal" data-target="#myModal">Edit</span></button></td>
    </tr>
    ';

}
$body.='
</tbody>
<tfoot>
    <tr>
        <th>ID</th>
        <th>Marke</th>
        <th>Modell</th>
        <th>Baujahr</th>
        <th>Aktion</th>
    </tr>
</tfoot>

和我的模态窗口的代码

<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">
                    <span aria-hidden="true">&times;</span>
                    <span class="sr-only">Close</span>
                </button>
                <h4 class="modal-title" id="myModalLabel">Interne Vorgangsnummer: </h4>
            </div>
            <div class="modal-body">

            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-primary">Speichern</button>
            </div>
        </div>
    </div>
</div>

现在我想在模态体中显示我的唯一键$erg_motor['id']。后来我想对包含$erg_motor['id']的数据进行更新。

3 个答案:

答案 0 :(得分:0)

必须包含while语句 变量也必须包含在

以下是使用foreach的示例:

<!DOCTYPE html>
<html>
<head>
    <title>dynamic data</title>
</head>
<body>
<h2>Dynamic data</h2>
    <?php $arr = array('a','b','c','d'); ?>
    <ul>
        <?php foreach ($arr as $key => $val): ?>
            <li><?php echo $val; ?></li>
        <?php endforeach ?>
    </ul>
</body>
</html>

答案 1 :(得分:0)

这里有两个选项:

  1. 为表格的每一行创建一个模态(错误)
  2. 使用JS / jQuery获取行的id,并将$erg_motor['id']填充到模态中。
  3. 2.的例子是:

    在循环中,将tr更改为如下所示:

    <tr data-row-id='<?= $erg_motor['id'] ?>'>
    

    后来使用jQuery它是一块蛋糕。首先,您需要手动处理模态的模态打开,因此请从<button>中删除额外的属性。我建议暂时将行id存储在模态内的隐藏范围内,以便以后管理。

    $(function() {
        $('#myModal').modal();
    
        $('tr button').click(function(e) {
            e.preventDefault();
    
            var row_id = $(this).closest('tr').attr('data-row-id');
            $('#myModal').find('.modal-body').find('span.row-id').val(row-id); // This span should be display:none;
    
            $('#myModal').modal('show');
        });
    });
    

    之后我想你会在该模式中有一个编辑表单,所以只需使用jQuery来处理你的POST编辑,然后使用$('tr[data-row-id="THE-ID-FROM-THE-SPAN"]')相应地更改行的数据。

    至少我是这样做的。

答案 2 :(得分:0)

这是表格的代码:

<table id="example1" class="table table-bordered table-striped">
                                <thead>
                                    <tr>
                                        <th>ID</th>
                                        <th>Marke</th>
                                        <th>Modell</th>
                                        <th>Baujahr</th>
                                        <th>Aktion</th>
                                    </tr>
                                </thead>
                                <tbody>';
                                // Holen des Ergebis in die Variable $erg
                                while($erg_motor = mysqli_fetch_assoc($db_erg_motor))
                                #print_r($erg_motor);
                                {
                                    $body.='
                                    <tr data-row-id='.$erg_motor['id'].'>
                                        <td>'.$erg_motor['id'].'</td>
                                        <td><input name="motor_fabrikat" value="'.$erg_motor['motor_fabrikat'].'"></td>
                                        <td><input name="motor_modell" value="'.$erg_motor['motor_modell'].'"></td>
                                        <td><input name="motor_ez" value="'.$erg_motor['motor_ez'].'"></td>';
                                $body.='<td><button class="btn btn-primary" data-toggle="modal" data-target="#myModal">Edit</span></button></td>';


                                    $body.='</tr>';
                                }
                                $body.='
                                </tbody>
                                <tfoot>
                                    <tr>
                                        <th>ID</th>
                                        <th>Marke</th>
                                        <th>Modell</th>
                                        <th>Baujahr</th>
                                        <th>Aktion</th>
                                    </tr>
                                </tfoot>
                            </table>