【发布时间】:2019-10-14 13:52:10
【问题描述】:
我已经构建了一个收集数据的工具。数据应分隔为 id、dropzone 和 item。这基本上是一个分类卡片工具。
我已经构建了一个收集数据的函数,最终看起来是这样的。见图1
现在我想把这个发送到 php,而 search1() 是数据收集函数。
function sendData() {
let target = 'php/data.php';
let data = searching1();
JSON.stringify(data);
let sendData = function () {
$.post('php/data.php', {
data: data
}, function (response) {
});
};
fetch(target, {
method: "POST",
mode: "same-origin",
credentials: "same-origin",
headers: {
'Content-Type': 'application/json',
//'Accept': 'application/json',
},
body: JSON.stringify({
data
})
}).then(res => {
const response = res.json();
console.log(data);
return response;
});
我现在的问题是数据到达 PhP,但我现在需要分开,因为现在一切都是一个大数组。 是否有任何智能功能可以做到这一点? 我试过类似
$data = $decoded ['data'];
$dropzone = $decoded['data'];
$item = $decoded ['data'];
$id = $decoded ['data'];
但这并不完全有效,因为我收到“数组到字符串转换”的通知。
所以基本上问题是,我可以将这个大数组转换为字符串(对吗?),然后将其插入到 sql 数据库中?
if ($contentType === "application/json") {
$content = trim(file_get_contents("php://input"));
$decoded = json_decode($content, true);
$data = $decoded ['data'];
$dropzone = $decoded['data'];
$item = $decoded ['data'];
$id = $decoded ['data'];
$create_table = "CREATE TABLE IF NOT EXISTS test (id VARCHAR(255), dropzone VARCHAR(255),item VARCHAR(255))";
$table_statement = $pdo->exec($create_table);
if (is_array($data) || is_object($data)) {
foreach ($data as $value) {
$sql = "INSERT INTO test (id, dropzone, item) VALUES ('$id','$dropzone','$item')";
$stmt = $pdo->exec($sql);
}
if (is_array($decoded)) {
$response = $decoded;
header('Content-Type: application/json');
echo json_encode($response);
} else {
echo("FEHLER");
}
}
}
这基本上是我的 php 代码。我已经完成了数据库配置和数据库连接。
任何帮助我都非常高兴..
一切顺利
【问题讨论】:
-
$content看起来像什么?试试var_dump($content); var_dump($data);看看它们都包含什么。
标签: javascript php sql api fetch