2017-03-25 2 views
0

私はデータをモーダルに渡すための多くの検索結果を見てきました。私はとてもシンプルな単一テーブルを持つMySql DBを持っています。私はPHPのエコーを使用してHTMLテーブルにデータをエコーし​​ています。最後の<td>は、モーダルを起動するブートストラップボタンです。私はモーダルに行データを表示するために含まれるコードを取得することができません。データ - *をブートストラップに渡すModal

ここでは、私が学んでいるように多くのコメントがあります。

<?php 
/* mysql connect info */ 
$mysqlhost = ''; 
$mysqlusername = ''; 
$mysqlpassword = ''; 
$mysqldb = ''; 
?> 

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="utf-8"> 
<meta http-equiv="X-UA-Compatible" content="IE=edge"> 
<meta name="viewport" content="width=device-width, initial-scale=1"> 
<title>Website | Login</title> 
<link href="css/bootstrap.css" rel="stylesheet"> 
<link href="css/style.css" rel="stylesheet"> 

<?php  
$mysqli = new mysqli($mysqlhost, $mysqlusername, $mysqlpassword, $mysqldb); 

if (mysqli_connect_errno()) 
{ 
echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

$sql="SELECT * FROM leads"; 
$result=mysqli_query($mysqli,$sql); 

// Associative array 
$row=mysqli_fetch_assoc($result); 
?> 

<nav class="navbar navbar-inverse navbar-fixed-top"> 
<div class="container-fluid"> 
<div class="navbar-header"> 
    <h1> 
    <a class="navbar-brand" href="#"> 
    <span class="glyphicon glyphicon-th-list" aria-hidden="true"> 
    </a> 
    </h1> 
</div> 
</div> 
</nav> 

<header id="header"> 
<div class="container-fluid"> 
<div class="row"> 
    <div class="col-md-12"> 
    </div> 
</div> 
</div> 
</header> 

<!-- Beginning of Sections --> 
<section id="main"> 
<div class="container-fluid"> 
<div class="row"> 
<div class="col-md-12"> 
<div class="container"> 

<table class="table table-striped"> 
<thead> 
    <tr> 
    <!--<th>Lead Number</th>--> 
    <th>First Name</th> 
    <th>Last Name</th> 
    <th>Moving Date</th> 
    <th>eMail</th> 
    <th>Phone</th> 
    <th>From</th> 
    <th>To</th> 
    <th>Moving Size</th> 
    <!--<th>IP Address</th>--> 
    <!--<th>Source</th>--> 
    <th>Submission Time</th> 
    <th>Actions</th> 
    </tr> 
    </thead> 
    <tbody> 


<?php 
while($row=mysqli_fetch_assoc($result)) 
{ 
echo "<tr>"; 
/*echo "<td>" . $row["lead_id"] ."<td>";*/ 
echo "<td>" . $row["customer_first_name"] ."</td>"; 
echo "<td>" . $row["customer_last_name"] ."</td>"; 
echo "<td>" . $row["moving_date"] ."</td>"; 
echo "<td>" . $row["customer_email"] ."</td>"; 
echo "<td>" . $row["customer_phone"] ."</td>"; 
echo "<td>" . $row["customer_from_zip"] ."</td>"; 
echo "<td>" . $row["customer_to_zip"] ."</td>"; 
echo "<td>" . $row["customer_moving_size"] ."</td>"; 
/*echo "<td>" . $row["customer_ip_address"] ."<td>";*/ 
/*echo "<td>" . $row["lead_handle"] ."</td>";*/ 
echo "<td>" . $row["sent_date"] ."</td>"; 
echo "<td> <button type=\"button\" class=\"btn btn-primary btn-sm\ data-toggle=\"modal\" data-target=\"#myModal\" data-id=\"". $row["lead_id"]."\">Edit</button></td>"; 
echo "</tr>"; } 
echo "</tbody>"; 
echo "</table>"; 

?> 


<!-- Button trigger modal --> 

</div> 
</div> 
</div> 
</div> 


</section> 



<footer id="footerindex"> 
<div class="container-fluid"> 
    <div class="row"> 
    <div class="col-md-12">  
    </div> 
</div> 
</footer> 

</div> 









<!-- Bootstrap core JavaScript 
================================================== --> 
<!-- Placed at the end of the document so the pages load faster --> 
<!-- this is google jquery library--> 

<script src="js/jquery-3.1.1.js"></script> 
<script src="js/bootstrap.js"></script> 
<script src="js/my.js"></script> 
<!-- This is the functionality of the login screen --> 

<!-- at one point the drop down was not working because we did not include the bootstrap.js which much come after the initial include to the jquery library--> 

<script type="text/javascript" src="/js/jquery-3.1.1.js"> 

$('#myModal').on('show.bs.modal', function (event) { 
    var button = $(event.relatedTarget) 
    var id = button.data('id') 
    var modal = $(this) 
    modal.find('.modal-title').text('Lead Number ' + id) 
    modal.find('.modal-body input').val(recipient) 
}) 

</script> 



<!-- MODAL BEGIND --> 

<div class="modal fade" id="myModal" tabindex="-1" role="dialog"> 
<div class="modal-dialog" role="document"> 
<div class="modal-content"> 
    <div class="modal-header"> 
    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
    <h4 class="modal-title">Modal title</h4> 
    </div> 
    <div class="modal-body1"> 
    <p>One fine body&hellip;</p> 
    </div> 
    <div class="modal-footer"> 
    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
    <button type="button" class="btn btn-primary">Save changes</button> 
    </div> 
</div><!-- /.modal-content --> 
</div><!-- /.modal-dialog --> 
</div><!-- /.modal --> 

</body> 
</html> 

また、あなたがHTML内でjQueryのスクリプトを追加することができ、それはモーダルを活性化させるために、彼らは他のjQueryを上書きしないなら、私が知っていることができますか?

答えて

1
  1. インデントをよく使うとコードをよりクリーンに保つのがよいです。

  2. <script ~~>もdiv:p、h1のようなタグですが、display:noneを持っています。もちろん、<script>タグをhtmlファイルに追加することもできます。大丈夫です。

  3. ブラウザが<script src = "jquery.js">に適合する場合、ブラウザはサーバー(この場合はサーバー)からjquery.jsコードを取得します。したがって、他のjsコードを上書きすることはできません。これはブラウザの2倍の作業で、jqueryコードは2度読み込まれます。

  4. 具体的には<script type="text/javascript" src="/js/jquery-3.1.1.js">コードですが、何をしているのか分かりません。あなたは既に上記のjquery-3.1.1.jsを含んでいます!どうしてそんなことをするのか?

  5. とにかく、ブラウザは、$( '#myModal')というコードを読み取るタイミング(または時刻)で#myModalを見つけることができません。だから、コードはモデルのdivの下をする必要があります。

^^コーディング・ビー・ハッピー。

+0

、ありがとうございました。私はあなたが私の問題を解決しました。応答に感謝し、助けて。私が持っていた問題コードをコピー/貼り付けするときにインデントが付きます。各行に4つのスペースを入れて、問題のコードとして表示させる必要があります。これを行う良い方法は?再度、感謝します。 –

+0

どのようなインデントを使用するのかは、場合によって異なります。しかし、通常は4つのインデントまたは2つのインデント! 。 – RPF

関連する問題