Beim "`Einkaufen"' werden Waren in den Einkaufskorb gelegt. Der eigentliche Einkauf geschieht beim Passieren der Kasse.
# zeige.rbx
require "cgi"; require "mysql"; require "cart"
def buchen(m, email, artikel)
m.query("UPDATE lager SET bestand=bestand-1 " +
"WHERE nummer='#{artikel}'")
m.query("INSERT INTO cart " +
"VALUES('#{email}', '#{artikel}')")
end
def einwageln(cgi)
email = email(cgi)
with_mysql_connection { |m|
cgi.params['artikel'].each { |a| buchen(m, email, a) }}
end
def show_cart(cgi, email)
with_mysql_connection { |m|
res = m.query("select l.nummer, " +
"l.nummer as nr, l.name, l.preis " +
"from cart as c, lager as l " +
"where c.artikelnummer=l.nummer " +
"and c.email='#{email}';")
table = [['Löschen', 'Art.-Nr.', 'Bez.', 'Preis']]
cgi.form("get", "kaufe") {
fill_table(cgi, table, "loesche", res)
}}
end
cgi = CGI.new("html3")
cgi.out {
cgi.html{
cgi.head{ cgi.title{"Einkaufskorb"} } +
cgi.body{
if logged_in?(cgi)
einwageln(cgi)
cgi.h2 { "Einkaufswagen für " + email(cgi) } +
show_cart(cgi, email(cgi))
else
"Nicht eingeloggt."
end
}}}