Witam,
Staram się napisać księgarnię internetową (praca do szkoły) i mam problem,gdyż gdy dodaje produkty do koszyka które już w nim są czyli np 2 razy klikam zeby dodało do koszyka tą samą książkę to nie zlicza mi ilości tych książek w koszyku...
tylko ciągle pokazuje jako wartość 1
mógłby mi ktoś pomóc rozwiązać problem?
Najlepiej żebym mógł tez samemu zmienić ilośc np na 5 i żeby zaktualizowało cenę za całość.
Oto mój kod :
plik koszyk.php
foreach ($produkty as &$prod)
{
if (!empty($prod))
{
$produkt = mysql_query("SELECT * FROM ksiazki WHERE id='$prod'");
$produkt = mysql_fetch_array($produkt);
$cena = explode(".", $produkt['cena']);
$cena_zl = $cena[0];
$cena_gr = $cena[1];
$t = mysql_query("SELECT imie,nazwisko FROM autorzy WHERE id='" . $produkt['autor_id'] . "' LIMIT 1");
$autor = mysql_fetch_array($t);
echo '<tr>
<td>' . $produkt['nazwa'] . '</td>
<td>' . $autor['imie'] . ' ' . $autor['nazwisko'] . '</td>';
if (count($produkty>1))
{
echo'<td> ponad 1 ten sam produkt w koszyku produkt</td>';
}
else
{
echo '<td>'.$produkt['nazwa'].'</td>';
}
echo'
<td>' . $produkt['cena'] . 'zł</td>
</tr>';
}
}
i koszyk_dodaj.php
<?php
include ('config.php');
db_connect();
ob_start();
if(isSet($_GET['id'])){ // sprawdzamy czy przesłano ID książki
$id = (int)$_GET['id']; // zapisujemy ID konwertując je na int w celach bezpieczeństwa
$q = mysql_query("SELECT id FROM ksiazki WHERE id=$id"); // sprawdzamy, czy książka istnieje
if(mysql_num_rows($q) == 1)
{ // jeśli zwrócono dokładnie 1 rekord
if(isset($_SESSION['koszyk_produkty']))
{
$_SESSION['koszyk_produkty'] = $_SESSION['koszyk_produkty'].';'.$id; //jeśli mamy już produkty w koszyku dopisujemy nową
}
else
{
$_SESSION['koszyk_produkty'] = $id; // jeśli nie, tworzymy sesję z produktami
header("Location: index.php?dodano"); //przekierowujemy na stronę główną z komunikatem
}
}
db_close();
}