2016-10-02 1 views
0

사용자가 나중에 저장하거나 제출할 수있는 다중 단계 양식이 있습니다. 나중에 저장하면 편집 또는 삭제할 수있는 옵션이 필요하지만 제출하면 수정 또는 삭제할 수있는 옵션이 필요하지 않습니다. 다음 코드는 의미가 있지만 작동하지 않습니다. 내가 어떤 버튼을받지 못했습니다 그리고 JQuery와 테이블 플러그인을 깨고 내가 검색이나 페이지 매김 옵션 해달라고 :PHP - 데이터베이스 레코드가 특정 값인 경우이 버튼 만 표시

<table id="myTable" class="table table-bordered table-hover table-striped tablesorter table-responsive"> 
    <thead> 
    <tr> 
     <td>Id</td> 
     <td>Status</td> 
     <td>Date/Time</td> 
     <td>Tag</td> 
     <td>Serial Number</td> 
     <td>Equipment</td> 
     <td>Company</td> 
     <td>Grand Total</td> 
     <td>Action</td> 
    </tr> 
    </thead> 
    <tbody> 
<?php 
while($res = mysqli_fetch_array($result)) {   
    echo "<tr>"; 
    echo "<td>".$res['id']."</td>"; 
    echo "<td><span class='label ".$res['labelwarning']."'>".$res['status']."</span></td>"; 
    echo "<td>".$res['todaysdatetime']."</td>"; 
    echo "<td>".$res['tag']."</td>"; 
    echo "<td>".$res['serialnumber']."</td>"; 
    echo "<td>".$res['currentequipment']."</td>"; 
    echo "<td>".$res['company']."</td>"; 

    echo "<td>".$res['total_grandtotal']."</td>"; 



$Submitted = "Submitted"; 
$Saved = "Saved"; 

if ($res['labelwarning'] == $Submitted) { 
echo "<td></td>"; 

} elseif ($res['labelwarning'] == $Saved) { 
echo "<td><a href=\"invoices_edit.php?id=$res[id]\" class='btn btn-info fa fa-pencil-square'></a> | <a href=\"invoices_delete.php?id=$res[id]\" class='btn btn-danger fa fa-trash' onClick=\"return confirm('Are you sure you want to delete?')\"></a></td>"; 
} 


    echo "</tr>"; 


} 
?> 


<Script> 

$(document).ready(function() { 
$("#myTable").dataTable({ 


"aaSorting": [ [0,'desc'] ] 
}); 
}); 

</Script> 
+0

조건부를 입력하는 경우, 어떤 이유에서든 플러그인이 테이블을 제동 할 경우 반환되는 행의 양이 ''에 정의 된 열의 양과 일치해야합니다. – Franco

+0

비록 그것은 – JCD

+0

과 일치합니다. 물론 if 문을 제거하면 테이블이 잘 작동하므로 'html' – Franco

답변

0

에 한번이 귀하의 경우/다른 부분 변경을 :

if ($res['labelwarning'] == $Submitted) { 
     echo "<td></td>"; 
    } else{ 
     echo "<td><a href='invoices_edit.php?id=$res[id]' class='btn btn-info glyphicon glyphicon-pencil'></a> | <a href='invoices_delete.php?id=$res[id]' class='btn btn-danger glyphicon glyphicon-trash' onClick=\"return confirm('Are you sure you want to delete?')\"></a></td>"; 
    } 
+0

아, 내가 어리석은 실수를 했어. (홈 심슨 DOH!) - 고마워. – JCD

1

해두 이 과정을 여기서 설명하려고합니다 :

1 - 먼저 필요한 결과를 가져올 php 파일을 만듭니다. 당신이 레코드를 가져 오는 경우

당신과 같이 변수에 결과를 넣어 것입니다 :

$result_html = ''; 

while($res = mysqli_fetch_array($result)) { 
    $result_html .= "<tr>"; 
    $result_html .= "<td>".$res['id']."</td>"; 
    ...en so on 
    $result_html .= "</tr>"; 
} 

ajax 통화에 응답을 반환하기 위해 당신이 추가해야합니다

echo json_encode($result_html); 

2 - 끝나기 전에 </body> 태그

<script> 

    $(document).ready(function() { 
     $.ajax({ 
      url: '/path/to/the_php_file', 
      type: 'POST', 
      dataType: 'json', 
      data : { //only needed if you have to pass parameters to your query }, 
     }) 
     .done(function(data) { 
      //data is your html response 
      // and #returnedResponse is the id given to your body tag 
      $('#returnedResponse').html(data); 
      $("#myTable").dataTable(); 
     }) 
     .fail(function() { 
      console.log("error"); 
     }); 

    }); 
    </script> 

3 - 귀하의 테이블

<table id="myTable" class="table table-bordered table-hover table-striped tablesorter table-responsive"> 
    <thead> 
    <tr> 
     <td>Id</td> 
     <td>Status</td> 
     <td>Date/Time</td> 
     <td>Tag</td> 
     <td>Serial Number</td> 
     <td>Equipment</td> 
     <td>Company</td> 
     <td>Grand Total</td> 
     <td>Action</td> 
    </tr> 
    </thead> 
    <tbody id="returnedResponse"> 

    </tbody> 
</table> 

참고 : 당신은 당신의 ajax 호출하기 전에 jquery.js에 대한 링크가 있어야합니다.

이것은 복사하여 붙여 넣기 솔루션이 아닙니다. 당신은 그것을하는 방법에 대한 예제를 물었고 여기서 당신은 그것을 배우기위한 좋은 출발점을 가지고 있습니다.

+0

고맙지 만 내 편이 바보 같은 실수였다. – JCD

+0

신경 쓰지 마라. 결코 시간 낭비가 아냐. 누군가 다른 사람이 필요할 수 있습니다. – Franco

관련 문제