微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sql 查询可以因库姆斯而异吗?

如何解决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 举报,一经查实,本站将立刻删除。