2016-04-25 108 views
0

2枚あります。コントロールには、現在のジョブのメモをエコーする列も含まれるジョブの詳細の一覧が表示され、もう1つのシートにはオペレーターがメモを付けることができます。PHPテーブルの値が変更されたときの警告

私がする必要があるのは、オペレーターがメモを提出した後に起こる、ジョブのメモが変更されたという制御ページのユーザーに警告することです。 現在、ノートがあるときに赤をハイライトするセルがありますが、新しいノートがあるときには積極的にアラートを送信したいと考えています。

私はonChange()機能を試しましたが、入力フィールドを作成してコントロールページで自分自身を変更するまで、警告は表示されませんでした。私も.change関数を試しましたが、それもうまくいきませんでした。

SQLデータベースにオペレータページから送信されたクエリである:

UPDATE operations 
    SET notes=$notes 
    WHERE jobID=$jobID 
     AND operation=$operation" 

制御ページに赤血球をエコーするためのコードは、このPHPである:

$conN = mysqli_connect(DB_HOST, DB_USER); 

if (!$conN) { 
    die('Could not connect: ' . mysqli_error($conN)); 
} // Check Connection 

mysqli_select_db($conN,"jms"); 

$jid = $row['jobID']; 
$opn = $row['operation']; 
$highlight = mysqli_query($conN, 
    "SELECT notes FROM operations WHERE jobID=$jid AND operation=$opn" 
); 

while ($data = mysqli_fetch_array($highlight)) 

    if (isset($data['notes']) && $data['notes'] != "") { 

     echo "<td id='notes' style='background-color:red;width:1%;'>" . 
      "<input class='target' type='text' value='" . 
      $data["notes"]. "' >" . "</td>"; 

    } else { 

     echo "<td style='background-color:white;width:1%;'>" . "</td>"; 

    } 

echo "</tr>"; // End the row 
$index++; 

細胞ながらその特定のジョブと操作のためにデータベースにメモがある場合、赤色はif (isset())の赤色で表示されるため、echo'dされています。

EDIT:あなたは、スクリプトのその非常にシンプルな作品を見ることができるように

function newNote() { 
var jobID = "X"; 
var operation = "Y"; 
alert("New note added to Job No. "+jobID+" at Operation No. "+operation); 
} 

、私はただ単純化することになった:ここに 私はのonChange機能を呼び出すようにしようとしてきたのJavascriptですテストとしてのテキストの簡単なアラートを使用します。

+0

あなたが話すコードを入力してください。 – trincot

+0

これは非常に幅広く、私たちにはたくさんのアイデアがあります。 –

+0

@JayBlanchard、私はすべてのアイデアのために開いています。 – Eksepshon

答えて

1

あなたはJQueryまたはJavaScriptでこれを行うことができます。必要なのは、要求を送信して応答を受け取ることで、DBレコードの変更をすぐに検出することです。

jQueryまたはjavaスクリプトでajax関数を使用し、前述のコントロールページをターゲットにして、応答を警告します。 jqueryのことで

一例:

$(document).ready(function(){ 
$.ajax({ 
     type: "POST", 
     url: "yourcontrolpage", 
     data: { jid: jid ,opn:opn}, 

     success: function(html) { 

     alert(html); 

      } 
}); }); 

例えば、あなたは、レコードの数や、最新のレコードを取得することができますので、次の要求で、あなたは変更がそう警告があるかどうかを判断することができます実行されますか変更がないので、何も起こりません。

+0

申し訳ありませんが、これは非常に混乱しているとわかりました。実装しようとするとうまくいかず、正しく実行しなかったと思います。 – Eksepshon

+0

JQueryライブラリをheadタグの間にインクルードし、bodyタグの後にこのコードを書いて、2つの投稿varibalesまたは1つだけを考慮して、ターゲットページに直接移動して投稿変数として受け取って、通常はレコードを計算し、応答を返すように結果をエコーするので、次のポストでステータスを決定するために再び使用することができます –