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!
Hirveää luettavaa ilman sisennyksiä.
https://www.ohjelmointiputka.net/ohje.php?tunnus=kohjeet
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; } ?>
Viestejä voi myös muokata puolen tunnin sisällä :)
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?
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
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).
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.
Aihe on jo aika vanha, joten et voi enää vastata siihen.