Autor Zpráva
breeta
Profil *
Ahoj, potřebuju si napsat nákupní košík pro menší obchod, jak nejlíp ukládat nákup?

Přes SESSION hodit do databáze id a množství zboží?
Můžete mě prosím nějak popsat postup který se vám osvědčil, díky.
nightfish
Profil
http://php.vrana.cz/nakupni-kosik.php
http://php.vrana.cz/nakupni-kosik-v-cookie.php
breeta
Profil *
nightfish - máš stím zkušenosti stím prvním způsobem, nebo sto jenom googloval?
Nox
Profil
breeta
php.vrana.cz je hodně kvalitní web o php, resp. ten člověk je dost znalý, takže by to mělo být v pohodě
breeta
Profil *
Nemůže někdo víc poradit jak tohle použít v praxi?
Nechápu jak má jít $_SESSION["kosik"] jak to má fungovat při odeslání více zboží?

<?php
// přidání zboží do košíku
$_SESSION["kosik"][$_GET["id"]] = intval($_GET["pocet"]);

// vyjmutí zboží z košíku
unset($_SESSION["kosik"][$_GET["id"]]);

// vypsání obsahu košíku
if ($_SESSION["kosik"]) {
    $result = mysql_query("SELECT id, nazev FROM zbozi WHERE id IN ('" . implode("', '", array_keys($_SESSION["kosik"])) . "')");
    while ($row = mysql_fetch_assoc($result)) {
        echo htmlspecialchars($row["nazev"]) . " (" . $_SESSION["kosik"][$row["id"]] . ")<br />\n";
    }
    mysql_free_result($result);
}
?>
AM_
Profil
v _session['kosik'] bude další pole obsahující všechny položky košíku. Do session můžeš ukládat jakákoliv data (tedy i pole).
breeta
Profil *
ještě mám problém s vypsání množství zboží, mám tohle


// vypsání obsahu košíku
if ($_SESSION["kosik"]) {
    mysql_query("SET NAMES 'utf8'") or die('Could not set names');
    $result = mysql_query("SELECT * FROM smes WHERE id IN ('" . implode("', '", array_keys($_SESSION["kosik"])) . "')");
    while ($row = mysql_fetch_assoc($result)) {
        echo htmlspecialchars($row["druh"]).($row["nazev"]).($_SESSION["kosik"][$row["id"]]);
    }
    
}


kdyz dam
print_r ($_SESSION["kosik"]);


tak mě to hodí [54 ] => 5 id zboží a množství ale zápis na konci echo u while ($_SESSION["kosik"][$row["id"]]) nejde proč?
AM_
Profil
Je ID číselného typu? a klíč také? mám pocit, že 54 (integer) a "54" (string) se bere jako dva různé klíče, ale nejsem si jistý, kdyžtak mě opravte.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: