当客户订购他/她的订单时,将保存到数据库中,所有项目均为Pending
,我将批准或取消他/她的订单。点击Approve button
后,待处理订单将为Delivered
,如果Cancel button
,订单将为Cancelled
。现在我想要css success
用于所有td" Delivered"和那些被取消的人{css danger
。即使我刷新页面,背景颜色仍然存在。
这是我的表格如下:
Date Ordered Order No. Total item(s) Total Amount Order Status
09-11-2015 15-09-0000000001 3 213.85 Pending
09-11-2015 15-09-0000000002 1 130.00 Pending
09-11-2015 15-09-0000000003 2 134.07 Pending
09-11-2015 15-09-0000000004 4 846.41 Pending
<button>Approve Order</button> <button>Cancel Order</button>
这是我的PHP
你可以看到我的td(order_status
)。如果success
是&#34;已发送&#34;我想在css
中调用order_status
Approve button
当我点击Cancel button
时。如果order_status是&#34;已取消&#34;点击danger
,在css
。
<?php
if(!session_id()){
session_start();
}
include_once '../fileadmin/dbinit.php';
$todo = $_POST['todo'];
$con = mysql_connect("localhost","root","","atec_coop");
if (!$con){
die("Can't connect".mysql_error());
}
mysql_select_db("atec_coop",$con);
switch ($todo) {
case "display":
$sql = "SELECT * from tb_empgroc_master";
// $myData = mysql_query($sql,$con);
$result = $atecCoop->query($sql);
$html = ''; $ctr = 0;
if ($result->num_rows){
while ($row = $result->fetch_object()){
$id = $row->empgrocmstID;
$date_ordered = date("m-d-Y");
$order_no = date($row->order_no);
$total_items = number_format($row->total_items);
$total_amount = number_format($row->total_amount,2);
$order_status = wordwrap($row->order_status);
$Order = $row->empgrocmstID;
$html .= "<tr id='$id'>";
$html .= "<td class='date_ordered' style='text-align:center'>$date_ordered</td>";
$html .= "<td class='order_no' style='text-align:center'>$order_no</td>";
$html .= "<td class='total_items' style='text-align:right'>$total_items</td>";
$html .= "<td class='total_amount' style='text-align:right'>$total_amount</td>";
$html .= "<td id='$Order' class='order_status' style='text-align:center'>$order_status</td>";
$html .= "</tr>";
}
}
echo $html;
break;
case "Cancel":
$Cancelquery = "UPDATE tb_empgroc_master SET order_status='Cancelled' WHERE empgrocmstID='".$_POST['empgrocmstID']."'";
mysql_query($Cancelquery, $con);
break;
case "Approve":
$Approvequery = "UPDATE tb_empgroc_master SET order_status='Delivered' WHERE empgrocmstID='".$_POST['empgrocmstID']."'";
mysql_query($Approvequery, $con);
break;
}
?>
如果是if语句,我会怎么做?
css
这是我对按钮的ajax调用
您可以看到评论background color's
。这有效但当我刷新页面时updateTable();
消失了。我已经评论过background color's
,因为background color
因为表格更新而消失了。因此,即使刷新页面,我也希望td $("#Approve").click(function(e) {
e.preventDefault();
var id = $('#cLoanOut tr.active').attr('id');
bootbox.confirm("Are you sure you want to approve order?","No","Yes",function(r){
if(r) {
$.ajax({
url : "<?php echo $server_name; ?>/emcis_coopmain/process/PHP_groceryReleasingProcess.php",
type : "POST",
async : false,
data : {
empgrocmstID:id,
todo:"Approve"
},
success:function(result){
// $('tr.active td.order_status').css("background-color", "green");
bootbox.alert('Order Approved',function(){
$("#Approve").attr("disabled", true);
});
// updateTable();
}
});
} else {
}
});
});
$("#Cancel").click(function(e) {
e.preventDefault();
var id = $('#cLoanOut tr.active').attr('id');
// var x = $('table tr.active').find('td.class').html();
bootbox.confirm("Are you sure you want to cancel order?","No","Yes",function(r){
if(r) {
$.ajax({
url : "<?php echo $server_name; ?>/emcis_coopmain/process/PHP_groceryReleasingProcess.php",
type : "POST",
async : false,
data : {
empgrocmstID:id,
todo:"Cancel"
},
success:function(result){
// $('tr.active td.order_status').css("background-color", "red");
bootbox.alert("Order Cancelled",function(){
$("#Cancel").attr("disabled", true);
});
// updateTable();
}
});
} else {
}
});
});
保持不变。
.table-hover tbody tr:hover td, .table-hover tbody tr:hover th {
background-color: #607d8b;
color: #FFFFFF;
}
div.well{
background-color: #fff9c4;
color: #000000;
}
#cLoanOut .active{
background-color: #2c9e94;
color: #FFFFFF;
}
.table-hover > tbody > tr.active > td.danger:hover {
background-color: red !important;
}
.table-hover > tbody > tr.active > td.warning:hover {
background-color: yellow !important;
}
.table-hover > tbody > tr.active > td.success:hover {
background-color: green !important;
}
这是我的CSS
<form class="form-horizontal" id="main-form" action="PHP_groceryReleasingProcess.php" method="POST">
<table class="tablesorter table table-bordered table-condensed" id="cLoanOut" style="table-layout: fixed;">
<colgroup>
<col width="110">
<col width="130">
<col width="50">
<col width="60">
<col width="90">
</colgroup>
<thead>
<tr>
<th>Date Ordered</th>
<th>Order No.</th>
<th>Total Item(s)</th>
<th>Total Amount</th>
<th>Order Status</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<button id="Approve" role="button" class="btn btn-success" disabled>Approve Order</button>
<button id="Cancel" role="button" class="btn btn-danger" disabled>Cancel Order</button>
</form>
我的表格
danger
我想在特定的td中将success
和CSS
称为order_status
。 &#39; empgrocmstID&#39;是数据库中的自动增量字段。我知道如何通过将其置于class='order_status success'
... class='order_status danger'
,order_status
的td来称呼成功和危险,但这不是重点。
我在案例中尝试了这段代码&#34; display&#34;但是if ($order_status===''){
$html .= "<td id='$Order' class='order_status success' style='text-align:center'>$order_status</td>";
}else if($order_status===''){
$html .= "<td id='$Order' class='order_status danger' style='text-align:center'>$order_status</td>";
}
的td&f没有显示出来。
{{1}}
感谢您的帮助,谢谢
答案 0 :(得分:0)
您可以在数据库中创建状态的另一行。 Judt认为1 =批准,2 =未批准。 现在你可以制作一个简单的if并用2个不同的css
回显它答案 1 :(得分:0)
您的最后一点PHP代码令人困惑,因为您正在测试$order_status
是否为空字符串。这可以解释为什么你不再看到order_status的td
。
同样的想法,就这样:
$html .= "<td id='$Order' class='order_status ".strtolower($order_status)."' style='text-align:center'>$order_status</td>";
这将直接在class属性中打印order_status
的值,无需您进行测试。
此外,在您的javascript中,您正在更改td的CSS。相反,您应该只将order_status的值添加到td的类中。
$('tr.active td.order_status').addClass("success");