我需要如何編輯我的數據庫我建立1快餐爲了網站帶走客戶,此刻在我的結構的一些想法用戶將有物品進入順序表數據庫結構對於訂單
這裏是它的表:http://prntscr.com/g3o3kz
user_id
列是爲訂購id的用戶存儲,然後item id是他們想要的東西takeawayid是外賣的id和狀態是他們訂購食品其自動設置爲等待,然後拿走可以將其更新爲接受或拒絕。
現在我遇到的問題是用戶添加5個項目到上面的表中拿走ID 1將有5行爲用戶ID並帶走ID和項目ID(有5項)
現在我到最近的訂單頁面,並打印出了每種帶走所以像這樣
但隨後明天,如果他們爲了它將再增加5項,它會在顯示同一個盒子如何將每個訂單分組?因此,1號有xyz項目,然後下次order2有xyz等等。因爲此刻的方式,數據庫奠定了它只是全部,如果這是有道理的
顯示訂單箱
<div class="container" style="margin-top: 40px;">
<div class="row">
<div class="col-xs-12">
<?php
echo $_SESSION['username'] ;
foreach ($ordersByUsers as $userId => $item) {
$username = $item['username'];
$ordersPrice = $item['ordersPrice'];
$orders = $item['orders'];
?>
<div class="row">
<div class="col-xs-12 col-md-10" style="background-color: #FAFAF8; border: 1px solid #ddd; padding: 20px; margin-bottom: 20px;">
<div class="row" style="padding: 20px;">
<div class="col-xs-12 col-sm-3">
<div class="row">
<a href="#">
<img src="http://santetotal.com/wp-content/uploads/2014/05/default-user.png" class="img-responsive" alt="Restaurant logo" height="92" width="102">
</a>
</div>
<div class="row" style="padding-top: 10px;">
<a href="#" style="text-transform: uppercase;">
<a href="#" style="text-transform: uppercase;"> </a>
<?php echo $username; echo "<br> </br>";
?>
<?php
/////////// get status of order
$statement8 = $db->prepare("SELECT * FROM users WHERE username = ? ");
$statement8->execute(array($_SESSION['username']));
$count8 = $statement8->fetch();
$username233 = mysql_real_escape_string($count8['id']);
$username2312312 = strip_tags($username233);
$statement85 = $db->prepare("SELECT * FROM orders WHERE user_id = ? AND takeawayid = ? ");
$statement85->execute(array($username2312312,$_SESSION['userid']));
$count84 = $statement85->fetch();
if($count84 ['status']== "waiting") {
?>
<form action="dashboard.php" method="post">
<input type="hidden" name="accept" value="<?php echo $count84['id']?>">
<input type="image" name="submit" src="http://business.fsdfsdfsdf.com/beta/accept.png" border="0" alt="Submit" />
</p>
</form>
<form action="dashboard.php" method="post">
<input type="hidden" name="deny" value="<?php echo $count84['id']?>">
<input type="image" name="submit" src="http://business.sdfsdfdf.com/beta/deny.png" border="0" alt="Submit" />
</p>
</form>
<?php
}elseif ($count84 ['status']== "Accepted") {
echo "<img src='http://business.sfdfsdfsdf.com/beta/accepted.png' alt='error'>";
} else {
echo "<img src='http://business.sdfdsfsdfsdf.com/beta/declined.png' alt='error'>" ;
}
?>
</a>
</div>
</div>
<div class="col-xs-12 col-sm-9">
<?php
foreach ($orders as $order) {
$orderId = $order['orderId'];
$itemname = $order['itemname'];
$price = $order['price'];
$date = $order['date'];
$address = $order['address'];
?>
<div class="row">
<div class="col-xs-12" style="background-color: #FFF; border: 1px solid #ddd; padding: 20px; margin-bottom: 20px;">
<h4>
<a href="profile.html" style="color: orange;">
<?php echo $itemname; ?>
</a>
</h4>
<div>
<div>
<span>
<?php echo $date; ?>
</span>
</div>
<div class="ratings">
<span>5 STARS</span>
</div>
</div>
</div>
Address: <b> <?php echo $address; ?></b>
</div>
<?php
}
?>
</div>
</div>
</div>
<div class="col-xs-12 col-md-2" style="padding: 20px; padding-top: 40px; font-size: 20px; color: #666; text-transform: uppercase;">
Total: <?php echo $ordersPrice; ?>
</div>
</div>
<?php
}
?>
查詢
function fetchPaidOrdersByTakeaway($connection, $takeawayId, $paid) {
if (!isset($takeawayId)) {
throw new Exception('Takeaway ID not provided!');
}
if (!isset($paid)) {
throw new Exception('Paid not provided!');
}
// Sql statement.
$sql = 'SELECT
ord.id AS orderId,
usr.id AS userId,
usr.username,
ord.itemname,
ord.address,
ord.price,
ord.date
FROM orders AS ord
LEFT JOIN users AS usr ON usr.id = ord.user_id
WHERE
user_id = :takeawayid
AND paid = :paid
ORDER BY
usr.username ASC,
ord.date DESC';
// Prepare and check sql statement (returns PDO statement).
$statement = $connection->prepare($sql);
if (!$statement) {
throw new Exception('The SQL statement can not be prepared!');
}
// Bind values to sql statement parameters.
$statement->bindValue(':takeawayid', $_SESSION['userid'], getInputParameterDataType($_SESSION['userid']));
$statement->bindValue(':paid', $paid, getInputParameterDataType($paid));
// Execute and check PDO statement.
if (!$statement->execute()) {
throw new Exception('The PDO statement can not be executed!');
}
// Fetch data.
$fetchedData = $statement->fetchAll(PDO::FETCH_ASSOC);
if ($fetchedData === FALSE) {
throw new Exception('Fetching data failed!');
}
return $fetchedData;
}
/**
* Group orders by users.
*
* @param array $orders [optional] Orders list.
* @return array Orders list grouped by users.
* @throws Exception
*/
function groupOrdersByUsers(array $orders = array()) {
$groupedOrders = array();
foreach ($orders as $order) {
$userId = $order['userId'];
$username = $order['username'];
$price = $order['price'];
// Check and add user name as key, if not already.
if (!array_key_exists($userId, $groupedOrders)) {
$groupedOrders[$userId] = array(
'username' => $username,
'orders' => array(),
'ordersPrice' => 0,
);
}
// Add order to grouped orders list.
$groupedOrders[$userId]['orders'][] = $order;
$groupedOrders[$userId]['ordersPrice'] += $price;
}
return $groupedOrders;
}
,我會需要一個額外的列order1也許orderid然後讓所有的訂單相同的id,然後顯示每個訂單id?問題是添加相同的數字,每個項目內的訂單,然後下一個訂單添加一個新的數字,並沒有2相同的數字
編輯 目前,我有展示推車,像這樣
$statement = $db->prepare("SELECT * FROM orders WHERE user_id = ? AND status = ? AND takeawayid = ? ");
// $statement->execute(array($username2,$md5password,$mod));
$statement->bindParam(1, $_SESSION['userid'], PDO::PARAM_STR, 50); // check your lengths
$statement->bindParam(2, $testing, PDO::PARAM_STR, 60);
$statement->bindParam(3, $id1, PDO::PARAM_INT);
$statement->execute();
本課程的完美的作品,因爲舊的訂單將被醚接受或拒絕這樣的等待狀態的將是當前的。我只是很難打印出舊訂單並將它們組合在一起
我有一個項目表http://prntscr.com/g3og1h我正在嘗試使用像strutce論壇被拿走可以使一個像比薩餅類別然後有所有不同的比薩餅裏面的主題,所以我使用類別表和一個主題表:) – shadow
那麼,想法不會改變,方法是我上面描述的相同) – iXCray