Обновление количества без добавления новой структуры.

В настоящее время я создаю корзину для покупок, которая использует структуру в массиве для хранения информации о корзине. Если продукт уже добавлен в корзину и снова нажата кнопка добавления в корзину, мне нужно обновить количество структуры и не добавлять еще один товар в корзину. Когда нажата кнопка добавления в корзину, я сначала проверяю, пуст ли массив, если нет, я просматриваю массив в поисках идентификатора продукта, отправленного формой, если он обнаружен, я просто обновляю поле количества, связанное с идентификатором продукта. , Затем я устанавливаю переменную addNew = no. Я использовал cfelse, если продукт не найден, установите переменную addNew = yes. Я понимаю, в чем моя проблема, если в корзине более одного продукта, цикл продолжается и, очевидно, в какой-то момент он не находит идентификатор продукта и не устанавливает переменную addNew = new, которая затем, а также обновляет количество, также добавить продукт в новую структуру, в результате получится продукт номер 2 и продукт количество 1.

Это первый раз, когда используются массивы и структура таким образом, и я просто нахожу свой путь, поэтому, если мой код не дельный прошу прощения. Любые указатели приветствуются;

<cfif arrayLen(session.mycart) GT 0>
    <cfloop index="i" from="1" to="#arrayLen(session.mycart)#">
        <!---check for existance of the id submitted--->
        <cfif session.mycart[i].itemID eq form.itemID>
        <!---if the id is matched update the quantity--->
            <cfset session.mycart[i].quantity = form.quantity+session.mycart[i].quantity>
            <cfset myTotal = form.itemCost*session.mycart[i].quantity>
            <cfset session.mycart[i].totalPrice = myTotal>
            <!---this will tell the add to cart function not add a new item--->
            <cfset addNew = "no">
        <cfelse>
        <!---as this is a new item tell the add to cart function to add it--->
            <cfset addNew ="yes">
        </cfif>
    </cfloop>
<cfelse>
<!---as the array is empty tel the add to cart function insert the product--->
    <cfset addNew ="yes">
</cfif>
0
задан duncan 5 December 2011 в 11:22
поделиться