gpt4 book ai didi

javascript - 在razor上循环SQL语句

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

尝试创建一个“购物车”来保存用户选择的项目,但在表单完成后,“购物车”中的所有数据都会插入一行

示例:

OrderID     StockID
Or002 IT01,IT02,IT03

如何将数据分成一行?

预期结果:

OrderID     StockID
Or002 IT01
Or002 IT02
Or002 IT03

它是如何工作的:

  1. 用户单击一个按钮,该按钮将生成以下 HTML 代码。

(Javascript)

var cartRowContents = `
<a class="dec" id="dec">-</a>
<input class="quan-num" id="number" name="FQty" value="1"/>
<a class="inc" id="inc">+</a>
<input type="hidden" id="FID" name="FID" value=${id} />
<div class = "rem">REMOVE ITEM</div>`;

名为FID的输入携带用户选择的项目的ID的传递值;生成的 HTML 代码将插入到表单/购物车中。用户无法添加相同的项目,但可以使用 <input name="FQty"> 修改数量( <a id="dec"> and <a id="inc"> 的值)。 .

  • 当用户完成订单时,以下代码将运行
  • (C#)

    @functions{

    public static String insD(Database db, String query) {

    IEnumerable<dynamic> data;

    data = db.Query(query); //Executing the Query

    return query;

    }

    }

    (ASP.NET 网页)

    @{

    Database db = Database.Open("geh");

    String m_OrderID = "Or002";

    if (IsPost) { //if statement when form is submitted

    string FID = Request.Form["FID"];
    var Qty = Request.Form["FQty"];

    String query = "INSERT INTO gah.order VALUES ('" + m_OrderID + "','" + FID + "','" + Qty + "')";

    insD(db, query);

    }

    我尝试过的:

    (ASP.NET 网页)

    @{

    if (IsPost) {
    Database db = Database.Open("geh");
    String m_OrderID = "Or002";

    for(int i = 0; i < 2 ; i++){

    var FID = Request.Form["FID"][i];

    var Qty = Request.Form["FQty"][i];

    String query = "INSERT INTO gah.orders VALUES ('" + m_OrderID + "','" + FID + "', '" + Qty + "')";

    insD(db, query);
    }
    }
    }

    结果插入 ID 的第一个字符。

    示例:

    ID = "DE002"

    OrderID StockID

    Or002 D

    Database Info:

    OrderID(PK) varchar(10),
    StockID(PK) varchar(10),
    Qty int()

    最佳答案

    如果我理解正确的话,您的购物车将有多个字段 <input name=FID><input name=FQty> ,这样当表单发布时,Request.Form["FID"]Request.Form["FQty"]每个都是逗号分隔的列表吗?如果是这样,也许这样的事情就能解决问题:

    var FID = Request.Form["FID"].Split(',');
    var FQTY = Request.Form["FQty"].Split(',');

    for(int i = 0; i < FID.Length; ++i)
    {
    String query = "INSERT INTO gah.orders VALUES ('" + m_OrderID + "','" + FID[i] + "', '" + FQTY[i] + "')";

    insD(db, query);
    }

    仅使用您共享的代码有点难以理解,但请告诉我我是否走在正确的轨道上。

    关于javascript - 在razor上循环SQL语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55808150/

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