Lasse Vestergaard skrev:
> Hej!
[snip]
En mulig løsning på dit forespørgsel ville være at du laver en
tilføjelses fil der ganske enkelt tjekker om den valgte vare er korrekt!
F.eks:
den form der poster til addtobasket.php indeholder felterne
itemno (vareid) og pcs (antal)
addtobasket.php
<?
require('databaseting.php');
if( isset($_GET['itemno']) )
{
$query = mysql_query("SELECT * FROM items WHERE
itemno='".mysql_real_escape_string($_POST['itemno'])."'");
if( mysql_num_rows($query) < 1 )
{
echo "<h3>FEJL</h3> Varen eksisterer ikke.";
exit;
}
else
{
if(($_POST['pcs']/$_POST['pcs']) != 1)
{
echo "<h3>FEJL</h3> Antal skal være et tal";
exit;
}
$_SESSION['basket'][$_GET['itemno']] =
$_SESSION['basket'][$_POST['itemno']] + $_POST['pcs'];
header('Location: basket.php');
exit;
}
}
header('Location: basket.php');
?>
Og så har jeg jo gjort et stort nummer ud af at få min præsentation af
indkøbskurven nem og overskuelig og her er så mit bud:
basket.php
<?php
echo '
<h2>Indkøbskurven</h2>
<table class="basket">
<tr><th>Fjern</th><th>Varenavn</th><th>Varenummer</th><th>Antal</th><th>Pris
pr. stk.</th><th>Ialt</th></tr>
';
foreach($_SESSION['basket'] as $varenr => $antal)
{
$query = mysql_query("SELECT * FROM items WHERE itemno='".$varenr."'");
$ialt = 0;
if(mysql_result($query, 0, "offer") == '')
{
$ialt = $ialt + (mysql_result($query, 0, "price") * $antal);
}
else
{
$ialt = $ialt + (mysql_result($query, 0, "offer") * $antal);
}
if(mysql_result($query, 0, "offer") == '')
{
$price = substr(mysql_result($query, 0, "price"), 0,
-2).','.substr(mysql_result($query, 0, "price"), -2);
}
else
{
$price = substr(mysql_result($query, 0, "offer"), 0,
-2).','.substr(mysql_result($query, 0, "offer"), -2);
}
echo '<tr>
<td><a href="addtobasket.php?remove='.mysql_result($query, 0,
"itemno").'" class="remove" title="Fjern vare">[x]</a></td>
<td>'.stripslashes(mysql_result($query, 0, "name")).'</td>
<td>'.mysql_result($query, 0, "itemno").'</td>
<td>'.$antal.'</td><td>'.$price.'</td><td>'.substr($ialt, 0,
-2).','.substr($ialt, -2).'</td>
</tr>
';
}
if(isset($_SESSION['basket']))
{
$total = 0;
foreach($_SESSION['basket'] as $varenr => $antal)
{
$query = mysql_query("SELECT price, offer FROM items WHERE
itemno='".$varenr."'");
if(mysql_result($query, 0, "offer") == '')
{
$total = $total + (mysql_result($query, 0, "price") * $antal);
}
else
{
$total = $total + (mysql_result($query, 0, "offer") * $antal);
}
}
$moms = (20 * ($total / 100)) / 100;
$total = substr($total, 0, -2).','.substr($total, -2);
if($total == ',0') { $total = '0,00'; }
}
else
{
$total = '0,00';
}
echo '
<tr>
<td class="total"></td>
<td class="total"></td>
<td class="total"></td>
<td class="total"></td>
<td class="total">Samlet pris: </td>
<td class="total">'.$total.'</td>
</tr>
<tr>
<td class="moms"></td>
<td class="moms"></td>
<td class="moms"></td>
<td class="moms"></td>
<td class="moms">Heraf moms (25%)</td>
<td class="moms">'.number_format($moms, 2, ',', '.').'</td>
</tr>
</table>';
?>
Så kan du jo kigge koden igennem. Den burde være til at overskue.
--
Dan Storm - storm at err0r dot dk /
http://err0r.dk
Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!