2014-10-23 3 views
-1

Надеюсь, кто-нибудь может мне помочь. У меня есть таблица с выражением while для моих данных. Теперь я хочу, чтобы данные для каждой строки отображались в модальном окне.PHP и Bootstrap Модальные переменные

<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'].

+0

Рассмотренный делать это динамически? http://stackoverflow.com/questions/15130419/loading-dynamic-content-in-jquery-dialog – AshHimself

ответ

0

это время оператор должен быть обернут в переменные также должны быть завернуты в

Вот пример использования Еогеасп:

<!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> 
+0

У вас есть пример? – Ulle

+0

Я добавил пример прямо сейчас. –

0

У вас есть два варианта здесь:

  1. Создать модальный для каждой строки таблицы (плохо)
  2. Используйте JS/jQuery, чтобы получить идентификатор строки, нажатой и заполнившей ваш $erg_motor['id'] в модальный.

Пример 2. будет:

Внутри вашего цикла, изменение тр выглядеть следующим образом:

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

Позже с помощью JQuery это кусок пирога. Сначала вам нужно вручную обрабатывать модальное открытие вашего модального кода, поэтому избавитесь от дополнительных атрибутов от вашего <button>. Я бы рекомендовал временно хранить идентификатор строки в скрытом диапазоне внутри модального, что упрощает управление позже.

$(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"]').

Это по крайней мере, как я это делаю.

+0

сначала. Спасибо. Я не уверен, прав ли я. – Ulle

+0

Zeitstempel: 23.10.2014 12:49:39 Fehler: SyntaxError: missing; перед выпиской Quelldatei: Quelltext: var row-id = $ (this) .closest ("tr"). attr ("data-row-id"); – Ulle

+0

Я изменил 'var row-id' на' var row_id', и теперь он должен работать, удачи. –

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> 
Смежные вопросы