2014-01-31 3 views
3

Итак, я могу подтвердить, что я идиот/newb /. Я ищу простой способ передачи ajax идентификатора в модальный. Которая затем принимает тот модальный, который имеет php, и предоставляет необходимые переменные, которые будут показаны.Bootstrap Modal + PHP + AJAX

Ex.

Таблица

=============================== 

[Button] | Data | Data | Data | 

=============================== 

[Нажмите кнопку (ID)] -> Модальные выскакивает -> Имя: Данные, электронная почта: Данные, Имя пользователя: Данные

Я не знаю, если это своего рода помогает вне. Мне удалось выяснить, как получить модальную информацию в базе данных, но я не могу понять, как вытащить данные из идентификатора в модальное и заполнить его.

Спасибо за любую помощь, которую я могу получить!

EDIT: (ОБНОВЛЕНИЕ) Это моя индексная страница, на которой отображается весь список телефонов. «Вид» отображает модальные данные, но дает мне случайную информацию, это активный идентификатор, но не тот, который соответствует порядку.

Надеюсь, это поможет. (Я буду принимать любую помощь или критику)

<?php 
     include "../includes/db_connect.php"; 
     $page = "chauffeur"; 
     $pdo = Database::connect(); 
     if($_SESSION['LoggedIn'] == 1){ } 
     elseif($_SESSION['LoggedIn'] == "") 
     { 
      header("location: http://wcl-wamp/"); 
     } 
    ?> 
    <!doctype html> 
    <html lang="en"> 
    <head> 
     <meta charset="UTF-8" /> 
     <title>WCL WebApp</title> 
     <link href="../css/bootstrap.css" rel="stylesheet"> 
     <link href="../css/td/style.css" rel="stylesheet"> 
     <style> 
      .body{margin: 0 40px; } 
     </style> 
    </head> 
    <body> 
     <?php include('../nav.php'); ?> 
    <div class="body"> 
      <div class="row"> 
       <h3><b>Phone Inventory</b></h3> 
      <div id="modal-results" ></div> 
    <?php 
      try { 
        $stmt = $pdo->prepare('SELECT * FROM phone_inventory'); 
        $stmt->execute(); 
        $result = $stmt->fetchAll(); 
        if(count($result)) { 
          foreach($result as $row){ 
         } 
        } 
       } catch (Exception $e) { 
        echo 'ERROR: ' . $e->getMessage(); 
       } ?> 
      <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" aria-hidden="true">&times;</button> 
        <h3 class="modal-title" id="myModalLabel"><b>Phone Profile - ID <?= $row['id']; ?></b></h3> 
        </div> 
        <div class="modal-body"> 
        <form class="test" role="form"> 
         <div class="form-group"> 
         <label for="phone_number">Phone # 
         <input type="text" class="form-control" id="phone_number" name="phone_number" value="<?= $row['phone_number']; ?>"></label> 
         <label for="device_id">Device ID 
         <input type="text" class="form-control" id="device_id" name="device_id" value="<?= $row['device_id']; ?>"></label> 
         <label for="device_manufacturer">Device Manufacturer 
         <input type="text" name="device_manufacturer" id="device_manufacturer" class="form-control" value="<?= $row['device_manufacturer']; ?>" /></label> 
         <label for="device_model">Device Model 
         <input type="text" name="device_model" id="device_model" class="form-control" value="<?= $row['device_model']; ?>"/></label> 
         <label for="phone_alias">Phone Alias 
         <input type="text" name="phone_alias" id="phone_alias" class="form-control" value="<?= $row['phone_alias']; ?>"/></label> 
         <label for="chauffeur_number">Chauffeur # 
         <input type="text" name="chauffeur_number" id="chauffeur_number" class="form-control" value="<?= $row['chauffeur_number']; ?>"/></label> 
         </div> 
        </form> 
        </div> 
        <div class="modal-footer"> 
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
        <button type="button" class="btn btn-primary" id="update">Check Out</button> 
        </div> 
       </div> 
       </div> 
      </div> 
<div class="row"> 
      <table class="table table-striped table-condensed table-hover"> 
       <thead> 
        <tr> 
         <th></th> 
         <th>Phone #</th> 
         <th>Device ID</th> 
         <th>Device Manufacturer</th> 
         <th>Device Model</th> 
         <th>Phone Alias</th> 
         <th>Chauffeur #</th> 
        </tr> 
       </thead> 
       <tbody> 
         <?php $sql = 'SELECT * FROM phone_inventory ORDER BY id ASC'; 
          foreach ($pdo->query($sql) as $row) { 
           echo '<tr>'; 
echo '<td><a class="btn btn-xs btn-primary" data-toggle="modal" data-id="'. $row['id'] .'" href="#myModal" >View</a></td>'; 
           echo '<td>'. $row['phone_number'] .'</td>'; 
           echo '<td>'. $row['device_id'] .'</td>'; 
           echo '<td>'. $row['device_manufacturer'] .'</td>';                        
           echo '<td>'. $row['device_model'] .'</td>'; 
           echo '<td>'. $row['phone_alias'] .'</td>'; 
           echo '<td>'. $row['chauffeur_number'] .'</td>'; 
           echo '</tr>'; 
         } 
          Database::disconnect(); 
         ?> 
       </tbody> 
      </table> 
     </div> 
    </div> 
    <?php include('../includes/js_scripts.php'); ?> 
    <script> 
     $(document).ready(function() { 
      $('.table').dataTable({ 
      "sPaginationType": "bootstrap", 
      "iDisplayLength": 10 
      }); 
     }); 
    $(".device").click(function(){ 
     var id = $(this).attr('data-id'); 
     $("#myModal").find("#id").val(id); 
     $("#myModal").dialog("open"); 
    }) 


    $(".alert").delay(200).addClass("in").fadeOut(4000); 

    $(function() { 
//twitter bootstrap script 
     $("button#update").click(function(){ 
        $.ajax({ 
        type: "POST", 
        url: "test.php", 
        data: $('form.test').serialize(), 
        success: function(msg){ 
          $("#modal-results").html(msg) 
          $("#myModal").modal('hide');  
         }, 
       error: function(){ 
        alert("failure"); 
        } 
         }); 
      }); 
     }); 
    </script> 
</body> 
</html> 
+0

Что У вас есть до сих пор? Опубликуйте свой текущий код. – Styphon

ответ

0

Хорошо. Кажется, я понимаю, что вам нужно. У вас есть страница результатов, и вы хотите иметь ссылку в каждом из результатов, что приведет к отображению подробной страницы результата в модальном режиме.

Итак, давайте сделаем это шаг за шагом. Получите вашу ссылку на страницу подробностей. Как только это работает правильно, мы захватим его с помощью AJAX и покажем страницу в модальном режиме.

Bootstrap делает AJAX модальности легко, посмотрите на remote вариант:

http://getbootstrap.com/javascript/#modals-usage

<a href="detail.php?id=123" data-toggle="modal" href="remote.html" data-target="#modal" data-target="#modal">Link Text</a>

Позвольте мне знать, как она идет, не стыдится быть новым для чего-то: D

+0

Итак, я добавил то, что вы положили, но изменил 123 на мой $ row ['id'], и он работает таким образом, что модальные всплывающие окна, а выцветший экран и просто планируют текст с страницы «getPhone.php» показывает. (который я только что отозвал материал) – Allen

+0

OK отлично. Похоже, вы на правильном пути, просто не хватает некоторых модальных кодов. Вы получаете модальный фон, а не модальное тело. Постучите немного больше, вы почти там: D – emptywalls

+0

Вопрос: после отправки модальный уходит, но страница не обновляется, чтобы показать, что что-то было обновлено или добавлено. Есть предположения? – Allen

Смежные вопросы