Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: ostoskori

Sivun loppuun

thek [20.10.2004 20:40:11]

#

Oon hiljalleen tutustunut php/mysql maailmaan. Vaatimattomasti oon kehitellyt ostoskori 'sovellusta.' (cd/lp-levyille).
Koodi osittain lainattua osittain omaa.

Olis mukava kuulla jonkun joka on hieman pitemmän aikaa kuin minä mielipidettä aikaansaannoksestani...ennen kuin rupean säätämään lisää.

<?php

include "./conf.php";  // täällä konfaukset.

function _cart($SESSION)
{
	if (!isset($SESSION["cart"]))
		{
     		$items = array();
    		$SESSION["cart"] = $items;
  		}
}


_cart($SESSION);

	if (isset($id) & $mode==add)
	{
		$SESSION["cart"][$id] = $SESSION["cart"][$id]+1;
 	}
	if (isset($id) & $mode==del)
	{
		$SESSION["cart"][$id] = $SESSION["cart"][$id]-1;
 	}

	$cart = $SESSION["cart"];
	print "<B></B>";

	if ($mode==clear)
	{
	$SESSION["cart"] = "";
 	}
 	else if ($SESSION["cart"]!="")
	{
	echo '<br><a href="' . $_SERVER['PHP_SELF'] . '?mode=clear">[CLEAR]</a><br>';
	for (reset ($cart); $key = key ($cart); next ($cart))
		{
        	$product_data=data($key);
 		$total = $total + $product_data->price*$cart[$key];
        	}
        	printf ("<BR><B>TOTAL PRICE: %.2f</B>",$total);
	}


echo("<table>");



$sql = "SELECT *FROM albumdb  ORDER BY artist ";
$res = mysql_query($sql);

echo("<tr><td>ARTIST</td><td>ALBUM</td><td>PRICE</td><tr>");

while ($values = mysql_fetch_array($res))
    {
	echo("<td>{$values["artist"]}</td>");
     	echo("<td>{$values["name"]}</td>");
   	echo("<td>{$values["price"]}</td>");
	echo ("<td>  <A HREF=\"./ostos_pop_ad.php?id=".$values["id"]."&mode=add\">[BUY]</A></td></tr>");
	echo("</tr>");
    }
	echo("</table>");


function data($id)
	{
 	$query = mysql_query("SELECT name, price FROM albumdb  WHERE id = '$id' ");
	$row = mysql_fetch_array($query);
 	$product_data->name = $row[0];
        $product_data->price= $row[1];
 	return $product_data;
	 }

?>

vinkit ja kommentit tervetulleita siis. kiitti!

lapm [20.10.2004 20:50:47]

#

Hirveää luettavaa ilman sisennyksiä.
https://www.ohjelmointiputka.net/ohje.php?tunnus­=kohjeet

thek [24.10.2004 22:26:21]

#

Uusi yritys, siistittynä. Tosin ei varmaankaan vielä oikein. (?) Vinkit ja kommentit tervetulleita edelleen.

<?php

include "./conf.php"; // täällä konfaukset.

function _cart($SESSION) {

if (!isset($SESSION["cart"])) {
	$items = array();
	$SESSION["cart"] = $items;
	}
}


_cart($SESSION);

if (isset($id) & $mode==add) {
	$SESSION["cart"][$id] = $SESSION["cart"][$id]+1;
}

if (isset($id) & $mode==del) {
	$SESSION["cart"][$id] = $SESSION["cart"][$id]-1;
}
	$cart = $SESSION["cart"];
	print "<B></B>";


if ($mode==clear) {
	$SESSION["cart"] = "";
}

	else if ($SESSION["cart"]!="") {
		echo '<br><a href="' . $_SERVER['PHP_SELF'] . '?mode=clear">[CLEAR]</a><br>';
		for (reset ($cart); $key = key ($cart); next ($cart)) {
		$product_data=data($key);
		$total = $total + $product_data->price*$cart[$key];
		}

printf ("<BR><B>TOTAL PRICE: %.2f</B>",$total);
}


echo("<table>");


$sql = "SELECT *FROM albumdb ORDER BY artist ";
$res = mysql_query($sql);

echo("<tr><td>ARTIST</td><td>ALBUM</td><td>PRICE</td><tr>");

while ($values = mysql_fetch_array($res)) {
	echo("<td>{$values["artist"]}</td>");
	echo("<td>{$values["name"]}</td>");
	echo("<td>{$values["price"]}</td>");
	echo ("<td> <A HREF=\"./ostos_pop_ad.php?id=".$values["id"]."&mode=add\">[BUY]</A></td></tr>");
	echo("</tr>");
}

echo("</table>");

function data($id) {
	$query = mysql_query("SELECT name, price FROM albumdb WHERE id = '$id' ");
	$row = mysql_fetch_array($query);
	$product_data->name = $row[0];
	$product_data->price= $row[1];
	return $product_data;
}

?>

makeuu [24.10.2004 22:27:27]

#

Viestejä voi myös muokata puolen tunnin sisällä :)

tsuriga [24.10.2004 23:27:12]

#

Huh? Noissa on eroo lähes 4d 2h.

_cart($SESSION);

Eikös se oli $_SESSION ja minkäs takia tuolle pitää antaa se parametrina, sehän on globaali taulukko.
-Pitäisikös tuolla olla session_start();
-Missä tämä $mode on määritelty?

thek [25.10.2004 10:42:44]

#

makeuu kirjoitti:

Viestejä voi myös muokata puolen tunnin sisällä :)

Juu, niinhän niitä voi. Mutta en ehtinyt silloin.

tsuriga kirjoitti:

Pitäisikös tuolla olla session_start();

Pitäis. Tällähetkellä se on ollut conf.php:ssä. Voisi yhtähyvin olla ennen function _cart($SESSION):ia.

tsuriga kirjoitti:

Missä tämä $mode on määritelty?

?? e. ?mode=clear

tsuriga [25.10.2004 12:04:57]

#

Se kannattaisi määritellä:

$mode = $_GET['mode'];

Ilmeisesti nuo $SESSION toimii kun et niistä sano mitään, sitä on vain itse tottunut näkemään noissa valmiiksi määritellyissä taulukoissa alaviivan ($_SESSION).

tsuriga [25.10.2004 14:21:55]

#

Tajusinpa juuri, että voihan se olla tietysti omakin muuttujasi, aika hämäävä tosin olisi :). Jos tuolla viitataan superglobaaliin $_SESSION-taulukkoon, se olisi ehkä suotavaa olla ilmoitettu manuskastakin tutulla $_SESSION-tavalla, vaikka yhdenmukaisuuden vuoksi.


Sivun alkuun

Vastaus

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

Tietoa sivustosta