【发布时间】:2014-09-10 17:33:53
【问题描述】:
我想要实现的是一种基于已下订单中的商品 sku 搜索我们的 woocommerce 订单的方法。一旦搜索了一个 sku,它将显示所有订单中的所有项目,其中包含搜索查询的 sku,并提供有关它的数据。
我已经很接近了,但不确定这里出了什么问题。
搜索代码:
<form action="url.php" method="get">
Order Number <input type="text" name="orderNumber" /><br />
<form action="url.php" method="get">
SKU <input type="text" name="itemSku" /><br />
<input type="submit" />
</form>
这是代码,目前仅设置为通过搜索 mysql 数据库并组合来自共享公共行“order_item_id”的两个表中的数据来根据订单号返回项目:
<?php
$search_ordernumber = $_GET["orderNumber"];
$search_sku = $_GET["itemSku"];
$con=mysqli_connect("****","****","****","****");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
echo "<table border='1'>
<tr>
<th>Order ID</th>
<th>Item</th>
<th>OIK</th>
<th>Quantity</th>
<th>Tax Class</th>
<th>Product ID</th>
<th>Variation ID</th>
<th>Subtotal</th>
<th>Tax</th>
<th>Subtotal Tax</th>
<th>Color</th>
<th>Size</th>
</tr>";
$moreresult = mysqli_query($con,"SELECT *
FROM wp_woocommerce_order_items AS t1
INNER JOIN wp_woocommerce_order_itemmeta AS t2 ON t1.order_item_id = t2.order_item_id WHERE order_id='$search_ordernumber'");
while($rows = mysqli_fetch_array($moreresult)) {
echo "<tr>";
echo "<td>" . $rows['order_id'] . "</td>";
echo "<td>" . $rows['order_item_name'] . "</td>";
echo "<td>" . $rows['order_item_id'] . "</td>";
//echo "<td>" . $rows['meta_key'] . "</td>";
echo "<td>" . $rows['meta_value'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysqli_close($con);
?>
这是订单号搜索“3003”的当前给定结果,您可以看到它正在将每个项目重复为一个新行(这似乎是基于它为每个 meta_value 复制一个新行引起的每个项目):http://tinyurl.com/npml5jn
非常感谢!
【问题讨论】:
标签: php mysql wordpress woocommerce