Miten saan ostoskoriin tuotteita, kun teen kauppapaikkaa asp-kielellä ja nyt ohjelma lisää tuotteen ostoskoriin, mutta kun lisään seuraavan tuotteen niin se menee edellisen päälle.
fopen("kori","a"); // Php:llä
Monipuolisesti vastattu P.M. Ostoskoria tuskin kannattaa tiedostoilla tehdä, mieluummin evästeillä tai jos pidempiaikaisia ostoshaaveita tahtoo merkata ylös, tietokannoilla. Milläs tavalla olet toteuttanut sitä ASP:llä? (en ole tutustunut pahemmin asp:hen kun ei onnistunut oikein microsoft personal <jonkun> konffaus)
tsuriga kirjoitti:
microsoft personal <jonkun>
MS Personal Web Server, PWS
Minulla on siinä tietokanta, josta tuotteet tulostetaan näytölle. Ongelma on se, että ostoskoriin siirretty tuote menee edellisen päälle ja ostoskoriin ei näin saa kun yhden tuotteen.
Pitäiskö pistää pätkä koodia?
mikä ettei :D
Helpottaisihan se koodinpätkä hieman...
OK. Tässä koodia. Toivottavasti saatte selvää
<----kun lisätään tuote ostoskoriin-----> <% session("kauha") = session("kauha") & "," & Request.QueryString("eka") %> "/joku/test.asp?<%= MM_keepURL & MM_joinChar(MM_keepURL) & "ko_tuotteen_nimi=" & Recordset2.Fields.Item("ko_tuotteen_nimi").Value %>"> Lisää tuote ostoskoriin</a> <----ilmoitus lisäämisestä------> <% Session("kauha") = Request.QueryString("ko_tuotteen_nimi") Response.write "<h3> Tuote lisätty ostoskoriin!!!</h3><br>" %> "/joku/selaayrit.asp">Paluu pääsivulle</h3></a> <a href="/joku/ostoskori.asp">Ostoskoriin</h3></a> </head> <body> <----ostoskori-----><hr> <p> <table><tr> <% splitarray = Split(session("kauha"),",") lowcount=lbound(splitarray) highcount=ubound(splitarray) for counter=lowcount to highcount response.write("<td>" & splitarray(counter)& "<td>") next%></tr></table>
En ole varma aspista, mutta kokeile tehdä session("kauha") moniulotteinen array käyttämällä session("kauha")() jolloin kaiken logiikan mukaan tuotteet läntittäisiin session("kauha")(0), session("kauha")(1), session("kauha")(2) jne.
Oma nettikauppani käyttää tuota yllämainittua metodia, tosin numeron sijasta tarkennan kohdan muodossa tuotenumero_lisavalinta1_lisavalinta2_lisavalinta_3 jolloin esim. hanskat kokoa XL mustat löytyy kohdasta 123_XL_mustat ja hanskat kokoa L vihreät taas kohdasta 123_L_vihreät.
Tämän avulla yhdestä tuotteesta saadaan lisävalintojen perusteella omia uniikkeja tuotetilauksia, ja esim. lisättäessä toinen pari mustia hanskoja kokoa XL muuttuu vain ja ainoastaan tuon valinnan määrä ja toinen hanskavalinta pysyy koskemattomana.
Hei,
Itse olen koodannut omaan webbikauppaan seuraavan ratkaisun.
Eli mulla on tietokannassa tuotetaulu jossa Avainkenttänä tuotenumero.
Ostoskoriin lisätään tuotteita tuotesivuilta painikkeella joka tekee seuraavaa:
session("shopcart") &= ",tuotenumero"
eli session("shopcart") voi olla vaikka ",2932,1982"
Sitten kun käyttäjä menee ostoskoriin niin lasken pilkkujen määrän ja muodostan tuotenumeroista taulukon. Jonka jälkeen pyörin for-silmukassa jossa haen tuotenumerolla tuotteen tiedot tietokannasta. Eli:
for i = 0 to UBound(tuotenumerot) - 1 dataset.fill( haeTuote(tuotenumerot(i)) ) next
Jonka jälkeen täytetään esim datalist:
datalist.datasource = dataset datalist.databind()
Voit käydä testaa http://kauppapaikka.europe.webmatrixhosting.net
Aihe on jo aika vanha, joten et voi enää vastata siihen.