注文した商品を処理する必要がある簡単なウェブショップを作成しました。注文は、注文した商品のIDと非常によく一致します。
注文の詳細をすべて表示するページに商品の名前と価格を表示したいのですが。残念ながら機能しません。
これは私の試みです:
注文した商品を取得するコード:
$query2 = mysql_query("SELECT * FROM orders_products WHERE order_id='".$_GET['order']."'");
while ($line2 = mysql_fetch_assoc($query2))
{
$row2[] = $line2;
$smarty->assign('row2', $row2);
}
(しようとする)製品名と価格を取得する:
$query4 = mysql_query("SELECT * FROM products WHERE id ='".$row2['product_id']."'");
while ($line4 = mysql_fetch_assoc($query4))
{
$row4[] = $line4;
$smarty->assign('row4', $row4);
}
それを表示する(htmlのいくつかのオランダ語についてすみません):
<div class="module">
<h2><span>Bestelde Producten</span></h2>
{section name=row2 loop=$row2}
{section name=row4 loop=$row4}
<div class="module-table-body">
<table id="bestelling" class="bestelling">
<thead>
<tr>
<th style="width:3%">#</th>
<th style="width:10%">Naam</th>
<th style="width:10%">Bedrag</th>
<th style="width:3%">Aantal</th>
</tr>
</thead>
<tbody>
<tr>
<td>{$row2[row2].id}</td>
<td>{$row4[row4].name}</td>
<td>{$row4[row4].price}</td>
<td>{$row2[row2].product_amount}</td>
</tr>
</tbody>
</table></br>
<p><strong>Totaal: </strong></br>
<strong>BTW (21%): </strong></p>
</br>
<p><strong>Totaal Inclusief BTW: </strong></p>
{/section}
<div style="clear: both"></div>
</div> <!-- End .module-table-body -->
</div>
</div>
orders_productsテーブル:
id order_id product_id product_amount
製品テーブル:
id category_id name description slug price in_stock
あなたの答えをありがとうみんな!カミのコードは私のためにうまくいった。
私は今それをどのように持っていますか:
$queryx = mysql_query("SELECT * FROM products inner join orders_products on products.id = orders_products.product_id WHERE order_id = '".mysql_real_escape_string($_GET['order'])."'");
while ($linex = mysql_fetch_assoc($queryx))
{
$rowx[] = $linex;
$smarty->assign('rowx', $rowx);
}
これは安全だと思いますか?最終的にはmysqliまたはPDOを使い始めますが、まだ初心者なので難しいと思います。
php-> mysqlの保護に関する優れたガイドを知っていますか?
これまでのところありがとう!