2016-05-19 12 views
0

ボタンクリック時にデータベースの他のテーブルで別々のタスクを実行するエントリを持つトランザクションテーブルがあります。データベースの変更後にテーブルのライブステータスを変更するにはどうすればよいですか?

私がする必要があるのは、各タスクの完了後、対応する行が緑色に変わり、完了しない行がページリフレッシュなしで1つずつ(ブートストラップを使用して)赤色に変わることです。

検証]ボタンは、こちらをクリックして、ページリフレッシュした後 After click and page refresh

Before Validate button click

をクリックする前に、私の表示されたテーブルのコードです:今では

<?php 
    $sth01 = $dbo->prepare("SELECT * FROM le_planning.transactions"); 
    $sth01->execute(); 
    $result01 = $sth01->fetchAll(PDO::FETCH_ASSOC); 
    $count01 = $sth01->rowCount(); 
    if ($count01 > 0) { 
     echo "<div class='container'> 
      <table class='table table-hover table-bordered table-condensed' id='tab1' name='tab1' style='width:80%' align='center'> 
       <tr> 
        <th>Sl. no.</th> 
        <th>Type</th> 
        <th>Proposed date</th> 
       </tr>"; 
       foreach ($result01 as $k) { 
        if ($k['status'] == 0) { 
         ?> 
         <tr class="info"> 
          <td><?php echo $k['Transaction_ID']; ?></td> 
          <td><?php echo $k['Type']; ?></td> 
          <td><?php echo $k['Datetime']; ?></td> 
         </tr> 
         <?php 
        } else if ($k['status'] == 1) { 
         ?> 
         <tr class="success"> 
          <td><?php echo $k['Transaction_ID']; ?></td> 
          <td><?php echo $k['Type']; ?></td> 
          <td><?php echo $k['Datetime']; ?></td> 
         </tr> 
         <?php 
        } else if ($k['status'] == 2) { 
         ?> 
         <tr class="danger"> 
          <td><?php echo $k['Transaction_ID']; ?></td> 
          <td><?php echo $k['Type']; ?></td> 
          <td><?php echo $k['Datetime']; ?></td> 
         </tr> 
         <?php 
        } 
       } 
      echo "</table> 
     </div>"; 
    } else 
     echo ""; 


if (!empty($_POST['validate_sub'])) 
{ 
$sth1 = $dbo->prepare("SELECT * FROM le_planning.transactions ORDER BY Datetime ASC"); 
$sth1->execute(); 
$result1 = $sth1->fetchAll(PDO::FETCH_ASSOC); 
//print_r($result1); 
$count1 = $sth1->rowCount(); 
if($count1 > 0) 
{ 
    foreach($result1 as $item) 
    { 
     $Trans_ID = $item['Transaction_ID']; 
     $Type = $item['Type']; 
     $Type_ID = $item['Type_ID']; 
     $Datetime = $item['Datetime']; 

     if($Type=='Production') 
     { 
      // some code 
      } 
      if($count2==($a+$b)) 
      {    // turn green 
       $q5 = "UPDATE le_planning.transactions SET status=1 WHERE Transaction_ID=$Trans_ID"; 
       $sth5 = $dbo->prepare($q5); 
       if($sth5->execute()) 
        echo ""; 
       else 
        echo "Error!"; 
      } 
      else 
      {  // turn red 
       $q6 = "UPDATE le_planning.transactions SET status=2 WHERE Transaction_ID=$Trans_ID"; 
       $sth6 = $dbo->prepare($q6); 
       if($sth6->execute()) 
        echo ""; 
       else 
        echo "Error!"; 
      } 
     } 
     } 
    } 
    } 
} 
?> 
    <form role="form" method="post" name="f1" id="f1" action="<?php echo $SERVER[PHP_SELF]; ?>"> 
    <center><input type="submit" value="Validate" class="btn btn-success" id="validate_sub" name="validate_sub"></center> 
    </form> 

は、私は、各トランザクションの変更を行うことを理解していますその色は即座に、または1つはライブ更新と言うことができますが、すべてのトランザクションはページリフレッシュなしで実行するために時間がかかりますが、jquery a nd ajaxしかし、私はこのためのロジックを編むことができません。

PS - jQueryを初めて使用しました。& AJAXです。

本当にありがとうございます。ありがとう!

+0

あなたは私たちにあなたを助けるために十分な情報を与えられていませんでした。 AJAXはまさにあなたが必要としているようですが、自分のシステムに完全に依存しているので、何を呼び出すべきかを教えてもらえません。 jQueryのAJAXドキュメントを読んで、AJAXの仕組みを理解してください:http://api.jquery.com/jQuery.ajax/ –

+0

@RoryMcCrossanはこちらのコードです – Kaus

答えて

0

このリンクを確認してください。あなたがここから見つけるあなたの関連する問題の解決策。

http://www.jqueryajaxphp.com/live-table-edit-using-jquery-ajax-and-php-twitter-bootstrap/

http://www.9lessons.info/2011/03/live-table-edit-with-jquery-and-ajax.html

+0

私はこれらすべての投稿を通過しましたが、私がここに必要なものではありません。 実行時に正常に実行されたか、実行されていない各行の色を変更したい、つまり、各行のライブ状態を1つずつ順番に変更したいのですが、 。 ありがとうございます:) – Kaus

関連する問題