gpt4 book ai didi

PHP 查询更新具有相同 session_id 的表

转载 作者:行者123 更新时间:2023-11-29 16:37:42 26 4
gpt4 key购买 nike

我使用 session_id 作为数据库中的 ID 列。还有一个名为“Sections”的列,其中添加了整个 xmlxml 包含部分名称和用户在其中花费的时间。我想更新相同 session_ids 的“部分”列。我怎样才能做到这一点?现在它为每条记录添加一个新行。这是我的 php 代码

$id=$_SESSION["id"];
$totaltime=$_POST['total'];
$HomeTime=$_POST['home'];
$ProductTime=$_POST['products'];
$ProcessTime=$_POST['process'];
$DevTime=$_POST['dev'];
$ContactTime=$_POST['contact'];


$xmlObject = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<item>
<section>
<name>Home</name>
<time>$HomeTime</time>
</section>
<section>
<name>Product</name>
<time>$ProductTime</time>
</section>
<section>
<name>Process</name>
<time>$ProcessTime</time>
</section>
<section>
<name>Development</name>
<time>$DevTime</time>
</section>
<section>
<name>Contact</name>
<time>$ContactTime</time>
</section>
</item>
XML;



$sql = "INSERT INTO user_time (ID, Sections) VALUES ('$id', '$xmlObject')";

if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}

最佳答案

首先使用数据库中存在的 session ID 获取现有 XML 数据,并将其存储到变量 $xmlFromDB 中,然后继续执行以下步骤。否则插入到数据库。

if(session id exisits in db){
//Fetch the table row or corresponding session id.
//Extract times from XML using this code.

$arr = [];
$times = new SimpleXMLElement($xmlFromDB);
foreach($times->section as $sec){
$arr[$sec->name.""] = $sec->time;
}
extract($arr);

//This will add previous value to new value.
$HomeTime += $Home;
$ProductTime += $Product;
$ProcessTime += $Process;
$DevTime += $Development;
$ContactTime += $Contact;
}

//Now generate xml using your method.

$xmlObject = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<item>
<section>
<name>Home</name>
<time>$HomeTime</time>
</section>
<section>
<name>Product</name>
<time>$ProductTime</time>
</section>
<section>
<name>Process</name>
<time>$ProcessTime</time>
</section>
<section>
<name>Development</name>
<time>$DevTime</time>
</section>
<section>
<name>Contact</name>
<time>$ContactTime</time>
</section>
</item>
XML;

if(session id exists){
//Then update the same row using the UPDATE query.
$sql = "UPDATE user_time SET Sections = '$xmlObject' where = '$id'";
}else{
$sql = "INSERT INTO user_time (ID, Sections) VALUES ('$id', '$xmlObject')";
}

if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}

关于PHP 查询更新具有相同 session_id 的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53493896/

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