2017-09-30 52 views
-2

我使用$ _POST获取order_id的值,但它并没有安静立即获取。我需要先点击按钮“显示食物”或任何按钮(如下图所示)弹出我想输出的表格。我尝试使用if(isset($ _ SESSION ['viewOrder']))来获取order.php中的按钮的值,但即使使用SESSION,它也没有按顺序获取它。我怎样才能得到按钮viewOrder的价值?如何从其他页面获取值

如果我将WHERE order_id = $ order_id更改为WHERE order_id = 724,它将立即弹出该数字的值(724),但它是食物表中所有我的订单的输出。所以我的问题是如何输出特定order_id的正确输出?

例子我有2个order orderid 1和order_id 2,1的值是burger和pizza,2的值是沙拉和三明治,所以当我点击order_id 1(order.php中的View Order按钮)时,值的食物表是汉堡和披萨只,然后当我点击order_id 2(查看顺序按钮order.php)值应该是沙拉和三明治不汉堡和披萨。

我希望你能理解我的解释,我希望对你们的帮助,我真的需要马上解决这个问题。我已经在这个问题上堆了几天了。真的很感谢你的帮助。十分感谢!

This is my error

This is what I get when clicking a button inside the ordermodal.php

这是我order.php代码。

<button type="button" 
<?php if($order['order_status'] == 'Dispatched'){ ?> input style="background-color:#ffff00;color:black" 
<?php } else if($order['order_status'] == 'Accepted'){ ?> input style="background-color:#0000ff;color:white" <?php } else if($order['order_status'] == 'Pending'){ ?> input style="background-color:#B0C4DE;color:black" { <?php } ?> 
class="btn btn-success" data-toggle="modal" data-target="#myModal" onclick="viewOrder('<?= $order['order_id'] ?>', '<?= $order['order_id'] ?>', '<?= $order['user_id'] ?>', '<?= $date ?>', '<?= $time ?>', '<?= $order['order_deliveryCharge'] ?>', '<?= $order['order_totalAmount'] ?>', '<?= $order['address'] ?>', '<?= $order['coordinates'] ?>', '<?= $order['driver_number'] ?>', '<?= $order['order_status'] ?>')"> View Order </button> 

<script> 
function viewOrder(order_id, order_id, user_id, order_date, order_time, order_deliveryCharge, order_totalAmount, address, coordinates, driver_number, order_status) { 
document.getElementById("titleModal").innerHTML = "Order Information"; 
document.getElementsByName("ORDER_ID")[0].setAttribute("value", order_id); 
document.getElementsByName("ORDER_ID_MODAL_2")[0].setAttribute("value", order_id); 
document.getElementsByName("user_id")[0].setAttribute("value", user_id); 
document.getElementsByName("order_date")[0].setAttribute("value", order_date); 
document.getElementsByName("order_time")[0].setAttribute("value", order_time); 
document.getElementsByName("order_deliveryCharge")[0].setAttribute("value", order_deliveryCharge); 
document.getElementsByName("order_totalAmount")[0].setAttribute("value", order_totalAmount); 
document.getElementsByName("address")[0].setAttribute("value", address); 
document.getElementsByName("coordinates")[0].setAttribute("value", coordinates); 
document.getElementsByName("drivers_number")[0].setAttribute("value", driver_number); 
document.getElementsByName("order_status")[0].setAttribute("value", order_status); 
document.getElementsByName("viewOrder")[0].setAttribute("name", "viewOrder"); 

} 
</script> 

,这是我给ordermodal.php

<div class="form-group"> 
<label for="order_id" class="col-sm-2 control-label">Order ID</label> 
<div class="col-lg-3"> 
<input type="text" input style="width:500px" class="form-control" name="ORDER_ID" id="ORDER_ID" placeholder="" value="" required="required" readonly> 
</div> 
</div> 

<?php 

if(isset($_POST['ORDER_ID'])){ 
$order_id = trim(addslashes($_POST['ORDER_ID'])); 
$sql = "SELECT food_name, special_request, quantity, amount 
FROM cart_tbl 
WHERE order_id=$order_id"; 
$result = mysqli_query(connection2(), $sql);} 
?> 
<table class="table table-hover table-bordered"> 
<thead> 
<tr> 
<th>Food</th> 
<th>Special Request</th> 
<th>Quantity</th> 
<th>Amount</th> 
</tr> 
</thead> 
<?php 
if(mysqli_num_rows($result)>0) 
{ 
    while($row = mysqli_fetch_array($result)) 
    { 
?> 
<tr> 
<td><?php echo $row["food_name"];?></td> 
<td><?php echo $row["special_request"];?></td> 
<td><?php echo $row["quantity"];?></td> 
<td><?php echo $row["amount"];?></td> 
</tr> 
<?php 
    } 
} 
?> 

</table> 
</div> 
<div class="modal-footer"> 
<button type="submit" input style="background-color:##FF0000;color:white;float:left" name="showFood" id="showFood" class="btn btn-primary " onclick="if(!confirm('Are you sure you want to see food order?')){return false;}" > Show Food</button> 
<button type="submit" input style="background-color:#4CAF50;color:white" name="submitDelivered" id="submitDelivered" class="btn btn-primary " onclick="if(!confirm('Are you sure you want to deliver order?')){return false;}" > Delivered </button> 
<button type="submit" input style="background-color:#0000FF;color:white" name="submitAccept" id="submitAccept" class="btn btn-primary" onclick="if(!confirm('Are you sure you want to accept order?')){return false;}"> Accept </button> 
<button type="button" style="background-color:#FFFF00;color:black" class="btn btn-success" data-toggle="modal" data-target="#myDropdown"> Send </button> 
<button type="submit" input style="background-color:#f44336;color:white" name="submitCancel" class="btn btn-danger" onclick="if(!confirm('Are you sure you want to cancel order?')){return false;}">Cancel</button> 
+1

你几乎找不到人来回答这类问题,粗略地说,这将涉及到一个完整的代码和流程分析 - 我不是那个打算这样做的人。我刚刚注意到一件事:为什么在函数viewOrder中发送两次order_id参数?这样做肯定会导致传递值的偏移... –

+0

是否通过document.getElementsByName(“ORDER_ID”)[0] .setAttribute(“value”,order_id)成功设置value属性。 ? – Cobolt

+0

@BriceCoustillas它的好男人。无论如何,2 order_id是ORDER_ID,另一个是ORDER_ID_MODAL_2 – zxczxczxc

回答

0

改变这一行

document.getElementsByName( “ORDER_ID”)代码[0] .setAttribute( “值”,ORDER_ID) ;

document.getElementsByName( “ORDER_ID”)[1] .setAttribute( “值”,ORDER_ID);

+0

当我将其更改为[1]时,它没有获得价值bro。 – zxczxczxc

+0

尝试'document.getElementById(“ORDER_ID”)。setAttribute(“value”,order_id);'bro – Cobolt