gpt4 book ai didi

php - mysql从其他表中获取数据

转载 作者:行者123 更新时间:2023-11-29 06:54:59 24 4
gpt4 key购买 nike

我建立了一个简单的网上商店,我需要在其中处理订购的产品。订单中包含订购产品的 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>

订单产品表:

id order_id product_id product_amount

产品表:
id category_id name description slug price in_stock


谢谢大家的回答! Kami 的代码对我有用。

我现在如何拥有它:

$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 的任何好的指南吗?

到目前为止谢谢!

最佳答案

尝试

$queryx = mysql_query("SELECT * FROM products inner join orders_products on products.id = orders_products.product_id WHERE order_id = " . $_GET['order']);

while ($linex = mysql_fetch_assoc($queryx))
{
$rowx[] = $linex;
$smarty->assign('rowx', $rowx);
}

我正在通过一个查询将数据链接在一起。这将允许您在一次查询中获得所有产品信息。我怀疑你的问题是 order_id='".$_GET['order']."'" 周围的引号。

关于php - mysql从其他表中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13300581/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com