Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Ostoskori pitäs saada aikaan, apua!

Sivun loppuun

RebebtC [26.04.2005 12:12:34]

#

Pitäs saada sellanen ostoskori tehtyä, et ku lisää koriin linkistä painaa ni sivun alareunaan lisättän tuote, en oikeen saa millän päähän miten saisin sen tehtyy sessioneilla tai kekseillä tai ees php taulukoilla, pitäs kutienki tehä ilman mysqllää... saisko jonkun koodivinkin, php:llä pitäs saad se aikaan?

Lazu [26.04.2005 12:22:39]

#

Sessionillahan sen saa hyvin. Ensin kannattaa asettaa sessiot päälle session_start() funktiolla joka sivun alussa (ennen html koodia). Sitten vain laitat sessioniin tietoa esim. näin:

<?php
$_SESSION["tuoteID"] = 123;
// Lukeminen tapahtuu näin:
echo "Tuotteen ID:" . $_SESSION["tuoteID"] . "<br>";
?>

Tuo ylläoleva tosin tukee vain yhtä tuotetta kerrallaan. Kotiläksynä monen tuotteen tuki :)

Profiili [26.04.2005 12:49:52]

#

Ilmasena vinkkinä suosittelen session+explode
oppaat->php->funktiot on ainaki

RebebtC [26.04.2005 13:41:53]

#

kiitos profiili, mut yritän tehä ton sessionilla tai kekseillä, lazu, sain kyl ton tehtyä jo itekki, mut en keksi miten sais monta tuotetta... :/

abina [26.04.2005 14:11:12]

#

Tee vaikka tuotteet -nimiseen sessioniin array mihin laitat nuo tuotteen idn ja määrän. Sekavasti selitetty mut kuitenkin.. eli

$_SESSION['ostoskori']['tähän tuotteen id'] = "tähän tuotteen määrä";

sit vaan tulostelet nuo tuotteet tuolta. tai lisäät tietystä tai poistat. ihan miten vaan. kuitenkin. toivottavasti tajustit idean. en osaa selittää.

Juice [26.04.2005 19:03:39]

#

Itselläni keskeneräisessä ostoskoripurkassani sessionissa on kamaa tyyliin

määrä~id|määrä~id
#esim
3~8|1~39

Sitten explode-purkalla sörkitään erilleen ensin |-merkkien kohdalla, sitten tildejen kohdalta ja tehdään tarvittavat toimenpiteet.

EDIT: Ihan turha tehdä ostoskoria ilman mysliä...

Olga [26.04.2005 19:32:31]

#

Kun kerran kieli tarjoaa arrayt, kannattaa niitä myös käyttää... eli suotta moisia explode-kikkailuja.

Juice [26.04.2005 20:01:53]

#

Olga kirjoitti:

Kun kerran kieli tarjoaa arrayt, kannattaa niitä myös käyttää... eli suotta moisia explode-kikkailuja.

Kyllähän ne taulukot ovat viisaampia, mutta oppiipahan samalla merkkijonofunktiota, tee vaikka molemmalla tavalla niin oppii :P

Profiili kirjoitti:

Ilmasena vinkkinä suosittelen session+explode

RebebtC [27.04.2005 08:12:36]

#

jep, jep, kokeilen näitä. kiitos, katotaan onnistunko :D Kieltämättä todella ärsyttävää tehdä ilman mysliä, ku sillä sen sais niin paljon helpommin... :/

Olga [27.04.2005 08:59:15]

#

En nyt oikein ymmärrä miten se MySQL helpottaa ostoskorin tekoa. Tietty jos jonkun oman istuntosysteemin meinaat rakentaa, niin sitten ehkä. Mutta kun PHP:n oma istuntojärjestelmä on varsin pätevä, niin miksi keksiä pyörää uudelleen? Onhan siinä tietysti omat puutteensa, mutta ostoskorin tekemiseen se on ihan omiaan. Tuotetiedothan voi ihan hyvin säilyttää tekstitiedostoissa.

Lazu [27.04.2005 10:25:49]

#

Olga: MySQL:stä on helpompi hakea tietoja, esim tuottet. Tiedostoilla joutuu kehittämään oman tiedostoformaatin joka sopii tarkoitukseen ja sitten vielä tehdä funktiot jotka avaa/sulkee/lukee tiedoston ja lisää/poistaa/muuttaa tiedoston sisältämiä tietoja. MySQL:llä selviää kolmella funktiolla ja valmiilla komennoilla.
Niin ja MySQL on nopeampi tapa.

abina [27.04.2005 10:55:36]

#

Tais Olga tarkottaa vaan tota et ne ostoskorin sisältö kannattaa tallentaa sessioniin. eikä mysliin.. puhuitte ehkä eri asioista. Noh ihan sama!

Olga [27.04.2005 11:38:10]

#

Lazu kirjoitti:

Olga: MySQL:stä on helpompi hakea tietoja, esim tuottet. Tiedostoilla joutuu kehittämään oman tiedostoformaatin joka sopii tarkoitukseen ja sitten vielä tehdä funktiot jotka avaa/sulkee/lukee tiedoston ja lisää/poistaa/muuttaa tiedoston sisältämiä tietoja. MySQL:llä selviää kolmella funktiolla ja valmiilla komennoilla.
Niin ja MySQL on nopeampi tapa.

Juu, tiedän kyllä hyvin MySQL:n edut verrattuna tiedostoihin. Tuotetietojen säilöminen tiedostoon ei kuitenkaan vaadi yhtään sen kummempaa koodinvääntöä kuin vastaava tietokannoilla ja formaatiksi kelpaa hyvin vaikka tuotteet riveittäin muodossa id;tuote;hinta jne. Jos tiedostoon tehtäisiin muutoksia useita kertoja sekunnissa, olisi tietysti tekstitietokanta varsin epävarma ratkaisu tyhjenemisen uhan takia.

Ja Abina oli ihan oikeassa, juuri sitä ajoin takaa... :)

RebebtC [27.04.2005 14:51:20]

#

Mulle tuli tällänen mieleen, et entä jos pistän ny sit ostoskorin johonki tiedostoon ja sit ku siel on enemmän porukkaa ja ne latoo kamaa ni eikös se kuitenki mee samaan tiedostoon? et eiks se voi mennä sekasi?

Asiasta toiseen, mä kokeilin tallentaa mun tavarat sessioon, mut mien sit niitten tulostus tapahtuu? tein getillä sen sillei et se lähettää sen id:n ku painaa linkkiä ja sit tulostan sen ostoskiriin ja yritän sit painaa toista tuotetta, ni se tulostaa sit vaan sen toisen tuotteen... tietenki ku se lataa sivun uudestaan, mut miten saisin sen sit tulostaa toisen siihen perään... (luulen et mul on aika hölmö koodirakenne, mut antakaas viel jotain koodivinkkiä, jos jaksatte) toivottavasti joku otti selvää.. =)

Juice [27.04.2005 19:39:25]

#

1. flock()
2. looppaa forilla, vai :D

<select name="kori">
<?php
for($i = 0; $i<=count($_SESSION["tuotteet"]);$i++){
    $tuote = haekannasta($_SESSION["tuotteet"][$i]);
    echo '<option value="tuote_'.$i.'">'.$tuote.'</option>';
}
?>
</select>

Tämä on pseudoa, eikä läheskään täydellinen.

RebebtC [28.04.2005 08:23:08]

#

WEEE!!! Kiitos kaikille, sain sen toimii =D eipä mikään hirveen vaikee ollu, mut ei sitä vaan aina tajua :D

pale [29.04.2005 13:52:05]

#

BTW: Tuo Lazun 26.4. kirjoittama viesti sessioneista on muuten paras johdatus sessioihin, jonka voin koskaan kuvitella. Koko idea aukesi tämmöiselle PHP-vasta-alkajalle kolmella rivillä. :)

Lazu [29.04.2005 14:26:51]

#

Lähdin itsekkin sessioneissa liikkeelle hyvin pitkälti samanlaisesta ohjelmanpätkästä :)

Voisinpa muuten kirjoittaa jonkinlaisen oppaan sessionin käytöstä. Se tuntuu olevan vaikea aihe ja minulta on kysytty tuota usein.. Enkä nyt pikaisen etsimisen jälkeen nähnyt yhtään suomenkielistä session opasta.

Edit: Jaa no.. onhan se tuossa putkan php oppaassa osa 7:ssa.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta