Php 我需要使用1-117中的for循环构建一个索引数组。我的两个选择都不起作用
我的订单项目表中有117个项目。因此,我需要构建一个for循环来收集这些项目并将其返回到屏幕上,然后在用户更新一些项目之后,我需要更新数据库中的Order_items表 我想我需要使用1-117中的for循环构建一个索引数组。我的两个选择都不起作用,但我认为这已经接近我需要做的了 备选案文1:Php 我需要使用1-117中的for循环构建一个索引数组。我的两个选择都不起作用,php,pdo,Php,Pdo,我的订单项目表中有117个项目。因此,我需要构建一个for循环来收集这些项目并将其返回到屏幕上,然后在用户更新一些项目之后,我需要更新数据库中的Order_items表 我想我需要使用1-117中的for循环构建一个索引数组。我的两个选择都不起作用,但我认为这已经接近我需要做的了 备选案文1: for ($i = 1; $i <= 117; $i++) { $item_qty[$i] = "SELECT Order_Items.qty F
for ($i = 1; $i <= 117; $i++) {
$item_qty[$i] = "SELECT Order_Items.qty
FROM Orders, Order_Items
WHERE Orders.id = Order_Items.order_id";
}
订单项目表布局如下所示,以供参考:
CREATE TABLE Order_Items (
orders_id INT(5) NOT NULL,
line_item_id INT(5) NOT NULL,
part_id INT(3),
qty INT(7),
stockroom_id INT(3),
CONSTRAINT items_key PRIMARY KEY (orders_id,line_item_id),
FOREIGN KEY (orders_id) REFERENCES Orders(id),
);
您可以使用循环并打印数量值,正如您在选项2中尝试的那样,通过示例或参考的方式尝试此操作
$link = mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db");
/*check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
/*Select queries return a resultset */
if ($result = mysqli_query($link, "SELECT order_item.qty from Orders o inner join order_items order_item on order_item.orders_id=o.id")) {
echo "Returned rows". mysqli_num_rows($result)."<br>";
while ($row = $result->fetch_assoc()) {
echo $row['qty'] . "<br>";
}
/*free result set */
mysqli_free_result($result);
}
表顺序:
CREATE TABLE `orders` (
`id` INT(11) NULL DEFAULT NULL,
`order` VARCHAR(50) NULL DEFAULT NULL
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
;
您将得到如下输出:
Returned rows3
11
13
10
谢谢你,rescobar。成功了。现在我可以继续将其合并到代码主体中。@TimSideris,很高兴帮助您,欢迎使用堆栈溢出。如果此答案或任何其他答案解决了您的问题,请将其标记为已接受。请回答另一个问题。我一直在使用PDO进行查询,尽管您的mysqli_查询可以工作,但我正在努力将其转换为PDO格式。我使用require'../database.php';访问数据库。然后我一直在做我的查询,好像$valid{$pdo=Database::connect;$pdo->setAttributePDO::ATTR_ERRMODE,pdo::ERRMODE_EXCEPTION;$sql=SELECT*FROM。。。。
CREATE TABLE `orders` (
`id` INT(11) NULL DEFAULT NULL,
`order` VARCHAR(50) NULL DEFAULT NULL
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
;
Returned rows3
11
13
10