ボタンクリック時にデータベースの他のテーブルで別々のタスクを実行するエントリを持つトランザクションテーブルがあります。データベースの変更後にテーブルのライブステータスを変更するにはどうすればよいですか?
私がする必要があるのは、各タスクの完了後、対応する行が緑色に変わり、完了しない行がページリフレッシュなしで1つずつ(ブートストラップを使用して)赤色に変わることです。
検証]ボタンは、こちらをクリックして、ページリフレッシュした後
をクリックする前に、私の表示されたテーブルのコードです:今では
<?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です。
本当にありがとうございます。ありがとう!
あなたは私たちにあなたを助けるために十分な情報を与えられていませんでした。 AJAXはまさにあなたが必要としているようですが、自分のシステムに完全に依存しているので、何を呼び出すべきかを教えてもらえません。 jQueryのAJAXドキュメントを読んで、AJAXの仕組みを理解してください:http://api.jquery.com/jQuery.ajax/ –
@RoryMcCrossanはこちらのコードです – Kaus