2017-06-26 131 views
0

我有一个jquery模式按钮,我想从我的数据库显示信息。Ajax调用返回相同的结果

我有我想要的一切被它识别被称为“数字” 的模式按钮显示在其已经被从一个SQL查询中显示的所有条目

while ($row = getarray($res)){ 

    <tbody> 
    <tr> 
    <td> <? $row["state"] ?> </td> 
    <td><? $row["number"] ?></td> 
    <td> 
    <button type="button" class="btn btn-primary" onclick="detailsmodal(<? 
    $row["number"])">Description</button> 
    </td> 
    </tr> 


<!-- Modal Button --> 
<button type ="button" class="btn btn-primary" onclick="detailsmodal(<?= $row['number']; ?>)>Modal Button</button> 
<!-- Code for modal --> 
<?php 
$number =$_POST["number"]; 
$number =(int)$number; 
$modalsql = myquery($dbvariable,"SELECT * FROM myTable WHERE Number = '$number' "); 
$result2 = myfunction_fetch_array($modalsql); 
ob_start(); 

?> 

<div class="modal fade" id="myModal" data-keyboard="false" data-backdrop="static" role="dialog"> 
<div class="modal-dialog"> 
<!-- Modal content--> 
<div class="modal-content"> 
    <div class="modal-header"> 
    <button type="button" class="close" onclick="closeModal()" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
    <h4 class="modal-title"> <?= $result2['number']?></h4> 
    </div> 
    <div class="modal-body"> 
    <p><strong>Field 1:</strong><?= $result2['number']?> </p> 
    <p><strong>Field 2:</strong><?= $result2['field_2']?> </p> 
    <p><strong>Field 3</strong><?= $result2['field_3']?> </p> 
    <p><strong>Field 4:</strong><?= $result2['field_4']?> </p> 
    <p><strong>Field 5:</strong><?= $result2['field_5']?></p> 
    <p><strong>Field 6:</strong><?= $result2['field_6']?> </p> 
    </div> 
    <div class="modal-footer"> 
    <button type="button" class="btn btn-default" onclick="closeModal()">Close</button> 
    </div> 
    </div> 
    </div> 
    </div> 

<?php 
ob_get_clean(); 
?> 

<!-- Script for the modal--> 
<script> 
    function detailsmodal(number){ 

     var data = {"number" : number}; 
     jQuery.ajax({ 
     url : "/page1/page2", 
     method : "post", 
     data : data, 
     success: function(){ 
      jQuery("body").append(data); 
      jQuery("#myModal").modal("toggle"); 
     }, 
     error: function(){ 
      alert("Something went wrong!"); 
     } 
     }); 
    } 
</script> 
循环表数据库中的字段

理想情况下,信息应根据被点击的不同项目进行更改。但它保持不变。

+0

ajax是我提交的代码的最后一部分。无论我点击哪个按钮,我都会从db中获取第一个条目 – jumpman8947

+0

当您进行调试时,特别是在何处发生问题?这里生成的客户端代码是什么?在检查网络请求时,在浏览器的调试工具中,AJAX请求是否包含您期望的数据?当在这些相同的工具中调试JavaScript时,'number'的值是多少?它是你期望的值吗?什么是由AJAX请求调用的PHP代码?什么是回报作为回应?你可以在这里做很多调试。 – David

+1

问题出在您发布的代码的第一行。你正在传递一个以'$ row ['number'];'为函数'detailsmodal''计算的“数字”。你很高兴地传递相同的数字,这样你总能得到相同的结果。 – gforce301

回答

0

请尝试使用以下代码,您的代码中存在如此多的拼写错误。

<?php while ($row = getarray($res)){ ?> 

     <tbody> 
      <tr> 
      <td> <? $row["state"] ?> </td> 
      <td><? $row["number"] ?></td> 
      <td> 
       <button type="button" class="btn btn-primary" onclick="detailsmodal(<?= 
       $row["number"]) ?>">Description</button> 
      </td> 
      </tr> 


      <!-- Modal Button --> 
      <button type ="button" class="btn btn-primary" onclick="detailsmodal(<?= $row['number']; ?>)">Modal Button</button> 
      <!-- Code for modal --> 
      <?php 
      $number =$_POST["number"]; 
      $number =(int)$number; 
      $modalsql = myquery($dbvariable,"SELECT * FROM myTable WHERE Number = '".$number."' "); 
      $result2 = myfunction_fetch_array($modalsql); 
      ob_start(); 

      ?> 

      <div class="modal fade" id="myModal" data-keyboard="false" data-backdrop="static" role="dialog"> 
      <div class="modal-dialog"> 
       <!-- Modal content--> 
       <div class="modal-content"> 
       <div class="modal-header"> 
        <button type="button" class="close" onclick="closeModal()" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
        <h4 class="modal-title"> <?= $result2['number']?></h4> 
       </div> 
       <div class="modal-body"> 
        <p><strong>Field 1:</strong><?= $result2['number']?> </p> 
        <p><strong>Field 2:</strong><?= $result2['field_2']?> </p> 
        <p><strong>Field 3</strong><?= $result2['field_3']?> </p> 
        <p><strong>Field 4:</strong><?= $result2['field_4']?> </p> 
        <p><strong>Field 5:</strong><?= $result2['field_5']?></p> 
        <p><strong>Field 6:</strong><?= $result2['field_6']?> </p> 
       </div> 
       <div class="modal-footer"> 
       <button type="button" class="btn btn-default" onclick="closeModal()">Close</button> 
       </div> 
      </div> 
      </div> 
     </div> 

     <?php 
     ob_get_clean(); 
     ?> 

     <!-- Script for the modal--> 
     <script> 
      function detailsmodal(number){ 

      var data = {"number" : number}; 
      jQuery.ajax({ 
       url : "/page1/page2", 
       method : "post", 
       data : data, 
       success: function(){ 
       jQuery("body").append(data); 
       jQuery("#myModal").modal("toggle"); 
       }, 
       error: function(){ 
       alert("Something went wrong!"); 
       } 
      }); 
      } 
     </script>