ai didi

php - 获取数据并使用循环插入它 (MSQL/I)

转载 作者:行者123 更新时间:2023-11-28 23:41:40 24 4
gpt4 key购买 nike

我从表 A 中选择数据,我想要的是使用循环插入该数据。

这是我的代码:

    $getlvls = "SELECT * FROM `access_chart` WHERE `ac_id`='$data->ac_id'";
$qry99 = $con->query($getlvls);
while($row = $qry99->fetch_assoc()) {
$lvl1 = $row['lvl1'];
$lvl2 = $row['lvl2'];
$lvl3 = $row['lvl3'];
$lvl4 = $row['lvl4'];
}

for($jaa = 1; $jaa <=4; $jaa++){
$auth_id = '$lvl'+$jaa;
$sql1 = "INSERT INTO `overtime_log`(`ot_id`, `lvl`, `user_id`) VALUES('$ot_id', $jaa, '$auth_id')";
$qry = $con->query($sql1);
}

我没有包含我的所有代码。一切正常,除了使用循环插入列 $lvl1$lvl2$lvl3$lvl4 .或者,如果您建议找到其他逻辑。

提前致谢。

已编辑

Select the data:

|----------------|
|--access_chart--| TABLE
|----------------|
-------------------
|---------|---------------|--------|--------|--------|--------|
|--ac_id--|--access_name--|--lvl1--|--lvl2--|--lvl3--|--lvl4--|
|---------|---------------|--------|--------|--------|--------|
| 1 | MIS Dept | 4 | 5 | 9 | 0 |



This might be the output after INSERT QUERY:


|----------------|
|--overtime_log--| TABLE
|----------------|
-------------------
|---------|-------|-----------|
|--ot_id--|--lvl--|--user_id--|
|---------|-------|-----------|
| 1 | 1 | 4 |
| 1 | 2 | 5 |
| 1 | 3 | 9 |
| 1 | 4 | 0 |

最佳答案

不确定 $ot_id 的定义位置,但假设您只使用 ID 并且 SQL 注入(inject)不是问题,您可以使用类似的东西:

$getlvls = "SELECT * FROM `access_chart` WHERE `ac_id`='$data->ac_id'";
$qry99 = $con->query($getlvls);
while($row = $qry99->fetch_array())
{
foreach(array(1=>$row['lvl1'],2=>$row['lvl2'],3=>$row['lvl3'],4=>$row['lvl4']) as $key=>$lvl)
{
$sql1 = "INSERT INTO `overtime_log`(`ot_id`, `lvl`, `user_id`) VALUES('$ot_id', $key, '$lvl')";
$qry = $con->query($sql1);
}
}

或者,您可以完全避免内部循环,只需使用多插入语法编写 INSERT:

$getlvls = "SELECT * FROM `access_chart` WHERE `ac_id`='$data->ac_id'";
$qry99 = $con->query($getlvls);
while($row = $qry99->fetch_array())
{
$con->query("INSERT INTO `overtime_log`(`ot_id`, `lvl`, `user_id`)
VALUES('$ot_id', 1, '{$row['lvl1']}'),
('$ot_id', 2, '{$row['lvl2']}'),
('$ot_id', 3, '{$row['lvl3']}'),
('$ot_id', 4, '{$row['lvl4']}')");
}

关于php - 获取数据并使用循环插入它 (MSQL/I),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34258386/

24 4 0
文章推荐: java - JNDI 需要 JDK 吗?
文章推荐: mysql - SQL查询返回列值多次出现的行
文章推荐: java - tomcat文件保存在什么地方
文章推荐: php - 如何将已上传的同一个文件导入到mysql中?
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com