如何将值传递给模态

时间:2017-09-06 14:46:19

标签: php sql modal-dialog

如何将order_id的值从order.php传递到ordermodal.php,所以我可以在查询中使用它。

这是order.php

 <?php 
session_start();

$order_id = $_SESSION['order_id'];


 if (!isset($_SESSION['user_id']))
 {
    header("Location: index.php");
    }
     $_SESSION['navMenu'] = "order";
 ini_set('display_errors', 'On');
 require_once 'includes/database.php';
 include_once 'system_menu.php'; 
 include_once 'ordermodal.php';
 $sql2 = "SELECT * FROM cart_tbl";
 $sql = "SELECT * FROM order_tbl WHERE order_status = 'Accepted' or order_status = 'Dispatched' or order_status = 'Pending' ORDER BY order_datetime DESC";
 /*** * SET UP COMBO BOX FOR SEARCH */
 $comboBox = isset($_REQUEST['comboBoxVal']) ? trim($_REQUEST['comboBoxVal']) : '';
 $search_by = isset($_REQUEST['search_by']) ? addslashes($_REQUEST['search_by']) : 0;
 $users = null;

 if ($comboBox != '') { switch ($search_by) { 
 case 1://Order ID
 $sql .= " WHERE order_id LIKE '%{$comboBox}%' ";
    break; 
    } 
}
 $carts = mysqli_query(connection(), $sql2);
 $orders = mysqli_query(connection(), $sql);
 $search_filters = array(1 => 'Order ID');
 /*** * END SET UP COMBO BOX */ ?>
 <html>
 <head> 
 <title>ORDERS</title>
 <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> 
 <link href="css/bootstrap.css" rel="stylesheet">
 <link href="css/style.css" rel="stylesheet"> 
 <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"> </script>
 <!-- Include all compiled plugins (below), or include individual files as needed --> 
 <script src="js/bootstrap.min.js"></script>
  <style type="text/css"> 
 body {

    background:url(images/jerica.jpg)fixed no-repeat center;
    background-size:cover;
 }

 .asd {
     color: white;
 }
 </style>
 </head> 
 <body>
 <?php
  if (isset($_SESSION['message'])) {
    $message = $_SESSION['message']; unset($_SESSION['message']);
}
 else {
     $message = "";
 } 
 ?> <div class="container" > 
 <h1 class="asd">Orders</h1> 
 </div> <div class="container" > 
 <div class="panel panel-default" >
 <div class="panel-heading"> <form method="post"> <div class="input-group"> 
 <div class="input-group-addon"> <select name="search_by"> 
 <?php
 foreach ($search_filters as $key => $value): ?>
 <option value="<?= $key ?>" <?= $key == $search_by ? 'selected' : '' ?> > <?= $value ?> </option> 
 <?php 
 endforeach; 
 ?>
 </select>
 </div> 
 <input type="search" name="comboBoxVal" value="<?= $comboBox ?>" class="form-control" placeholder="Search">
 </div> 
 </form> 
 </div> 
 <div class="panel-body">
 <?php
 if ($message != ''): ?>
 <div class="alert alert-success alert-dismissible" role="alert"> 
 <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true"> &times;</span></button>
 <?= $message ?> </div>
 <?php endif; ?> 
 <table class="table table-hover table-bordered">
 <thead>
 <tr> 
 <th>Order ID</th> 
 <th>User ID</th>
 <th>Order Date</th>
 <th>Order Time</th>
 <th>Delivery Charge</th>
 <th>Total Amount</th>
 <th>Address</th>
 <th>Coordinates</th>
 <th>Driver Number</th>
 <th>Order Status</th>
 <th>Action</th>
 </tr>
 </thead> 
 <?php
/*** * DISPLAY TABLE */ 
?>
 <tbody> 
<?php if ($orders): ?>
 <?php
 while ($order = mysqli_fetch_array($orders, MYSQLI_BOTH)):
 ?>
<?php
$order_datetime = $order['order_datetime'];
$date = date('Y-m-d', strtotime($order_datetime));
$time = date('H:i:s', strtotime($order_datetime));

?>

 <tr> 
 <td><?= $order['order_id'] ?></td> 
 <td><?= $order['user_id'] ?></td> 
 <td><?= $date ?></td>
 <td><?= $time ?></td>
 <td><?= $order['order_deliveryCharge'] ?></td>
 <td><?= $order['order_totalAmount'] ?></td>
 <td><?= $order['address'] ?></td>
 <td><?= $order['coordinates'] ?></td>
 <td><?= $order['driver_number'] ?></td>
 <td><?= $order['order_status'] ?></td>
 <td><button type="button" class="btn btn-success" data-toggle="modal" data-target="#myModal" onclick="viewOrder( '<?= $order['order_id'] ?>', '<?= $order['order_id'] ?>', '<?= $date ?>', '<?= $time ?>', '<?= $order['order_deliveryCharge'] ?>', '<?= $order['order_totalAmount'] ?>', '<?= $order['address'] ?>', '<?= $order['coordinates'] ?>', '<?= $order['driver_number'] ?>', '<?= $order['order_status'] ?>')"> View Order </button>
 </td> 
 </tr>
 <?php endwhile; ?>
 <?php endif; ?> 
 </tbody> 
 </table>
 </div> 
 <div class="panel-footer"> 
 </div>
 </div>
 </div>
 <script>
 function viewOrder(order_id, user_id, order_date, order_time, order_deliveryCharge, order_totalAmount, address, coordinates, driver_number, order_status) { 
 document.getElementById("titleModal").innerHTML = "viewOrder";
 document.getElementsByName("order_id")[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("driver_number")[0].setAttribute("value", driver_number); 
 document.getElementsByName("order_status")[0].setAttribute("value", order_status);  
 document.getElementsByName("viewOrder")[0].setAttribute("name", "viewOrder");


 /*x = document.getElementsByName("order_status").value;

 if(x == "Accepted"){
     document.getElementsByName("submitAccept").disabled = true;
 }*/

}
</script?
</body>
</html>

这是ordermodal.php

    <?php 

/** *ordermodal.php **/

 $id = "";
 $order_date = "";
 $order_time = "";
 $order_id = "";
 $order_deliverCharge = "";
 $order_status = "";
 $order_totalAmount= ""; 
 $coordinates = "";
 $driver_number = "";
 $address = "";


 $food_name="";
 $special_request="";
 $quantity="";
 $amount="";
 $orders="";

         ?>

         <!-- MODALS --> <!-- DETAILS --> 
         <div id="myModal" class="modal fade" role="dialog">
         <div class="modal-dialog modal-lg">
         <div class="modal-content">
        <form action="" method="post" class="form-horizontal">
         <div class="modal-header">
         <button type="button" class="close" data-dismiss="modal"><center>&times;</button>
     <h4 class="modal-title" id="titleModal"></h4>
     </div>
         <div class="modal-body"> 

  <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>

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

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

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

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

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

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

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

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

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



    <?php
// This is where I want to get the value of oder_id
$sql = "SELECT food_name, special_request, quantity, amount 
FROM cart_tbl
WHERE order_id=$order_id";
$result = mysqli_query(connection(), $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>
 <tbody> 

 </div>
 <div class="modal-footer">
<button type="submit" name="showOrder" id="showOrder" class="btn btn-secondary" onclick="" > Show Order </button>
<button type="submit" 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="submit" name="submitSent" class="btn btn-primary"onclick="if(!confirm('Are you sure you want to send order?')){return false;}" >Sent</button> 
 <button type="submit" name="submitCancel" class="btn btn-danger" onclick="if(!confirm('Are you sure you want to cancel order?')){return false;}">Cancel</button> 
  <?php
 if(isset($_POST['showOrder'])){  
   $order_id = trim(addslashes($_POST['order_id']));
 }
  if(isset($_POST['submitAccept'])){  
  $order_id = trim(addslashes($_POST['order_id']));
  $query = "UPDATE order_tbl SET `order_status`='Accepted' WHERE `order_id` = $order_id";
  if (mysqli_query(connection(), $query)) { 
         mysqli_query(connection(), "COMMIT");
         $_SESSION['message'] = "Order Accepted"; } 
         else { 
         $_SESSION['message'] = mysqli_error(connection());
         mysqli_query(connection(), "ROLLBACK");
         }
  }

  if(isset($_POST['submitSent'])){  
  $order_id = trim(addslashes($_POST['order_id']));
  $query = "UPDATE order_tbl SET `order_status`='Dispatched' WHERE `order_id` = $order_id";
  if (mysqli_query(connection(), $query)) { 
         mysqli_query(connection(), "COMMIT");
         $_SESSION['message'] = "Order Dispatched"; } 
         else { 
         $_SESSION['message'] = mysqli_error(connection());
         mysqli_query(connection(), "ROLLBACK");
         }
  }

  if(isset($_POST['submitCancel'])){  
  $order_id = trim(addslashes($_POST['order_id']));
  $query = "UPDATE order_tbl SET `order_status`='Cancelled' WHERE `order_id` = $order_id";
  if (mysqli_query(connection(), $query)) { 
         mysqli_query(connection(), "COMMIT");
         $_SESSION['message'] = "Order Cancelled"; } 
         else { 
         $_SESSION['message'] = mysqli_error(connection());
         mysqli_query(connection(), "ROLLBACK");
         }
  }

  ?>


 </div>
 </form>
 </div>
 </div>
 </div>

所以这个时刻的功能是当点击视图顺序时order_id的值没有得到,你需要先点击另一个按钮(接受,发送,取消)才能获得order_id的值

&#34;当我点击视图顺序时,我会立即获得order_id的值,以便我可以在我的sql查询中使用它。这应该是真正的输出。&#34;

0 个答案:

没有答案