úprava PHP košíku – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

úprava PHP košíku – PHP – Fórum – Programujte.comúprava PHP košíku – PHP – Fórum – Programujte.com

 

jirikz0
Duch
14. 11. 2013   #1
-
0
-

Chtěl bych poprosit jestli by mi někdo neporadil s úpravou jednoduchého košíku, který občas využívám.


Níže posílám php kód, kterým se vkládá zboží do košíku. Hodnoty se vkládají z níže uvedeného formuláře ($mnozstvi $id).  Teď je to tak, že pokud zboží již v košíku je, aktualizuje se jen množství (ON DUPLICATE KEY UPDATE).


Potřeboval bych to upravit tak, aby když se ty pole formuláře namnoží např. 3x (vždy danému produktu se tedy přidají různé parametry par1 a par2 a množství), tak aby se do košíku zapsalo zboží 3x i s těmi parametry.


To přidávání řádků tabulky jsem vyřešil skriptem níže, akorát zase nevím, jak dát těm polím par1 a par2 různé ID 1-3.

Děkuji za případné podměty.

KOD KOŠÍK:


if(isset($delete)){

            mysql_query("DELETE FROM dm_kosik WHERE prod_id = '".$delete."' AND session = '".$PHPSESSID."'");

}


if(isset($mnozstvi))

            foreach ($mnozstvi as $id => $count){

            if($count){

            $q = "INSERT INTO dm_kosik (prod_id, par1, par2, kusu, session, datum) values($id, '$par1', '$par2', $count, '".$PHPSESSID."', NOW()) " .

            "ON DUPLICATE KEY UPDATE kusu = $count";

//echo $q;

            mysql_query($q);

            mysql_query("DELETE FROM dm_kosik WHERE DATE_ADD(datum,INTERVAL 1 DAY) < NOW()");

                        }

            }

function cart_items(){

            global $PHPSESSID;

            $res = mysql_query("SELECT SUM(kusu) as res FROM dm_kosik WHERE session = '".$PHPSESSID."'");

            $a = mysql_fetch_array($res);

            return $a['res'] + 0;

}

function delete_user_cart(){

            global $PHPSESSID;

            $res = mysql_query("DELETE FROM dm_kosik WHERE session = '".$PHPSESSID."'");        

}


FRMULÁŘ KE KOŠÍKU:


<form action="kosik" name="kosik"  onSubmit="return kontrola(this);" method="post" >

<table border="0" class="tabulkazbozi" id="tabledata">

        <tr>

            <td><INPUT type="checkbox" name="chk[]" style="width: 25px;"/></td>

            <td> </td>

            <td><label>Jméno Přijmení</label><input class="tx" type="text" name="par1[]" /></td>

            <td><label>Iniciály</label><input class="ks" type="text" name="par2[]" /></td>

                <td><label>Upřesnění</label><input class="tx" type="text" name="0[]" /></td>

                <td><label>Ks.</label><input class="ks" name="mnozstvi[<?=$data_shop["id"]?>]" type="text" value="1" size="4"/></td>

         </tr>

</table>


<input type="submit" class="vlozit-dokosiku" title="Přidat do košíku" value="do košíku"></form>


SCRIPT NA PŘÍDÁNÍ ŘÁDKŮ TABULKY/FORMULÁŘE


<script>

function addRow(tableID) {

                                   var table = document.getElementById(tableID);

                                   var rowCount = table.rows.length;

            var row = table.insertRow(rowCount);


                                   var colCount = table.rows[0].cells.length;

                                   for(var i=0; i<colCount; i++) {

                                               var newcell = row.insertCell(i);

                newcell.innerHTML = table.rows[0].cells[i].innerHTML;

                //alert(newcell.childNodes);

                switch(newcell.childNodes[0].name) {

                    case "text":

                            newcell.childNodes[0].value = "";

                            break;

                                           case "checkbox":

                            newcell.childNodes[0].checked = false;

                            break;

                    case "select-one":

                            newcell.childNodes[0].selectedIndex = 0;

                            break;

                }

            }

                                                                                        var newcell2 = tr.insertCell(1);

                                   newcell2.innerHTML = rowCount + 1;

            return false;

        }


        function deleteRow(tableID) {

            try {

                var table = document.getElementById(tableID);

                var rowCount = table.rows.length;


                for(var i=0; i<rowCount; i++) {

                    var row = table.rows[i];

                    var chkbox = row.cells[0].childNodes[0];

                    if(null != chkbox && true == chkbox.checked) {

                        if(rowCount <= 1) {

                            alert("Cannot delete all the rows.");

                            break;

                        }

                        table.deleteRow(i);

                        rowCount--;

                        i--;

                    }

                }

            }catch(e) {

                alert(e);

            }

            return false;

    }

</script>

Nahlásit jako SPAM
IP: 83.208.129.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 16 hostů

Podobná vlákna

Úprava PHP skriptu — založil MaxDJ

Úprava PHP kódu — založil Gabriel

Uprava textu v php — založil roman.jaros

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý