如何解决sql 查询可以因库姆斯而异吗?
我正在尝试允许用户添加到传单地图上的点的路线,使用对点数据库的 sql 查询。因为我希望每个点都有多条路线通过它,所以我添加了额外的列:“route2”、“routenumber2”到“route5”、“routenumber5”到原始“route”和“routenumber”。
以下代码确实有效,但我认为将其写出五次是重复的,每次只使用一组不同的列。
if (e.target && e.target.id == "submitrest") {
const enteredRoute = document.getElementById("input_Route").value; // from user form input
const enterednumber = document.getElementById("input_routenumber").value;
const enterednickname = document.getElementById("input_nick").value;
const enteredID = document.getElementById("input_cartodb_id").value;
cartoData.eachLayer(function (layer) {
// sql to put layer in -- Building the sql query
let sql =
"UPDATE stops " +
"SET area = '" + enteredRoute + "'," +
"route_number = '" + enterednumber + "'," +
"nickname = '" + enterednickname + "' " +
"WHERE cartodb_id = " + enteredID + ";"
console.log(sql);
if (enteredRoute && enterednickname && enterednumber && enteredID) {
fetch(url1,{
method: "POST",headers: {
"Content-Type": "application/x-www-form-urlencoded"
},body: "q=" + encodeURI(sql)
})
.then(function (response) {
return response.json();
})
.then(function (data) {
console.log("Data saved:",data);
})
我要问的是,像 document.getElementById
如何允许用户每次输入不同的数据并使用相同的代码发送数据,是否有一种较少重复的方法来制作 sql 查询功能,允许我如果“route2”和“routenumber2”已满,则将数据放入“route3”和“routenumber3”,依此类推。
我想要的是 CartoDB 中的一行有五组/列路由和路由编号,用户可以将数据输入到其中,最好使用较少的重复代码。
到目前为止,我已经尝试使用 Javascript 类构造函数和工厂方法。我可以获得这些以允许 sql 查询中指定的列是可变的吗?谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。