ログインしたユーザーがテーブル内で注文を表示するためにorders
ページを作成しました。私の 'SELECT'ステートメントは最初は重複した結果を表示していましたが、それを修正しようとした後、ユーザーごとに1つのオーダーしか表示していません。重複結果または1行のみを取得するSELECTステートメント
私は注文の2つのテーブルorders
とordersdetail
を持っています。
1つの注文または重複ではなく、すべてのユーザー注文を表示するにはどうすればよいですか?
<?php
//CUSTOMER
$user = $_SESSION['email'];
$get_c = "SELECT * FROM customer WHERE email='$user'";
$run_c = $db->query($get_c);
$row_c = $run_c->fetch(PDO::FETCH_BOTH);
$c_id = $row_c['id'];
//ORDERS
$get_o = "SELECT * FROM orders WHERE user_id='$c_id'";
$run_o = $db->query($get_o);
$row_o = $run_o->fetch(PDO::FETCH_BOTH);
$o_id = $row_o['id'];/***/
$o_name = $row_o['name'];
$o_status = $row_o['status'];
$o_userid = $row_o['user_id'];
$o_date = $row_o['date'];
//ORDER DETEAILS
$get_order = "SELECT * FROM ordersdetail WHERE ordersid='$o_id' ";
$run_order = $db->query($get_order);
while($row_o = $run_order->fetch(PDO::FETCH_BOTH)){
$order_id = $row_o['ordersid'];
$o_price = $row_o['price'];
$pro_id = $row_o['productid'];
$o_qty = $row_o['quantity'];
//PRODUCT DETAILS
$get_pro = "SELECT * FROM items WHERE id='$pro_id'";
$run_pro = $db->query($get_pro);
$row_pro = $run_pro->fetch(PDO::FETCH_BOTH);
$pro_image = $row_pro['photo'];
$pro_title = $row_pro['title'];
?>
<tr align="center">
<td><?php echo $o_id;?></td>
<td>
<?php echo $pro_title;?> <b>
<img src="images/<?php echo $pro_image;?>" width="50" height="50" />
</td>
<td><?php echo $o_price;?></td>
<td><?php echo $o_qty;?></td>
</tr>
<?php } ?>
</table>
ORDERSDETAIL TABLE
`ordersdetail` (
`id` int(10) NOT NULL,
`productid` int(11) NOT NULL,
`ordersid` int(11) NOT NULL,
`price` float NOT NULL,
`quantity` int(11) NOT NULL
) ENGINE=InnoDB
ORDERS表
`orders` (
`id` int(10) unsigned NOT NULL,
`name` varchar(100) NOT NULL,
`status` tinyint(1) NOT NULL,
`user_id` int(11) NOT NULL,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB
DB構造を知らなくても助けが手に入れません... – webeno
私のテーブルをエクスポートしてコードを編集して、今度はgimmeを追加します – Mani
@Maniはあなたのmysqlシェルにログインします ' mysql -u YOUR_USERNAME -p'と入力し、「use YOUR_DB_NAME」と入力します。表を表示するには 'show tables'と打ちます。この方法で、構造体をテキストでコピーして、単にあなたの質問に貼り付けることができます。表の構造を表示するには、単に 'desc YOUR_TABLE_NAME'を実行します。 – James111