Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Koszyk :|
noose
post 27.02.2004, 08:35:24
Post #1





Grupa: Zarejestrowani
Postów: 95
Pomógł: 0
Dołączył: 30.07.2003
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


Witam
Mam sobie napisany koszyk.
Niestety nie wyswietla on nic :? nie wiem czemu :? (bledow tez nie wywala :?)
[php:1:2bb8c0d822]<?php
session_start();
ini_set('display_errors','1');

class Koszyk
{
var $artykuly;

function dodaj($numer, $ilosc){

$this->artykuly["$numer"] += $ilosc;

}

function usun($numer, $ilosc){

if($this->artykuly["$numer"]>$ilosc)

$this->artykuly["$numer"]-=$ilosc;

else

$this->artykuly["$numer"]=0;

}

function wyswietl(){

while(list($k, $v) = each($this->artykuly))
if($v>0)
echo "Artykul nr $k - $v sztuk<br>";

}

}
if (!isset($_SESSION['koszyk']))
{
$koszyk = new Koszyk;
}
else
{
$koszyk = new Koszyk;
$koszyk1 = $_SESSION['koszyk'];
while (list($art, $ilosc) = each ($koszyk1))
{
while(list($a,$i) = each ($ilosc))
{
if ($a != null)
{
$koszyk->dodaj($a,$i);
echo("Artykul: $a został dodany<br>");
}
}
}
}
$akcja = $_GET["akcja"];
$co = $_GET["co"];
$ilosc = $_GET["ile"];
if ($akcja = "dodaj")
{
$koszyk->dodaj($co,$ilosc);
}

$_SESSION['koszyk'] = $koszyk;
while (list($art, $ilosc) = each ($koszyk1))
{
while(list($a,$i) = each ($ilosc))
{
$sql = "SELECT * FROM artykuly where id = '$a'";
$rez = mysql_query($sql);
include_once("../db.php");
while($w = mysql_fetch_array($rez))
{
$nazwa = $w["nazwa"];
echo("<a href = "?strona=koszyk&akcja=usun&co=$id&ile=1">Usuń z koszyka $nazwa</a><br>Masz $i sztuk $nazwa<br>");
}
}
}
$koszyk->wyswietl();
?>[/php:1:2bb8c0d822]
jakies sugestie :?:

edit:
wrzucilem na inny serwer i wyskakuje mi
Cytat
Warning: Variable passed to each() is not an array or object in /home/www/data/jaw.pl/www.hh.jaw.pl/public_html/praca/poprawka/koszyk/index.php on line 46
:?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
MaxRipper
post 2.05.2004, 20:21:14
Post #2





Grupa: Zarejestrowani
Postów: 35
Pomógł: 2
Dołączył: 19.08.2003
Skąd: Białystok

Ostrzeżenie: (0%)
-----


Ok panowie skrypt koszyka jest bardzo fajny ale... jak zwykle mam problem smile.gif. Otóż teraz chce zrobic podliczanie wartości wszystkich towarow (cena pobrana bedzie z bazy danych). Zupelnie nie wiem jak sie do tego zabrac do tej pory moj koszyk wyglada tak:

[php:1:9bfc220158]
<?php
session_register("koszyk"); // rejestrujemy sesje
$akcja = $_POST["akcja"];
if ($show != "usun_kosz")
{
$koszyk = $_SESSION["koszyk"];
$id = $_POST["spid"];
if ($_POST["ilosc"] == "")
{
$ilosc = 1;
} else {
$ilosc = $_POST["ilosc"];
}

if ($show == "koszyk")
{
$stara_ilosc = $koszyk[$id];
$koszyk[$id] = $ilosc + $stara_ilosc;
}
elseif ($akcja == "usun")
{
$stara_ilosc = $koszyk[$id];
if ($stara_ilosc - $ilosc <= 0)
{
$koszyk[$id] = null;
} else {
$koszyk[$id] = $stara_ilosc - $ilosc;
}
}
else
{
if ($koszyk != null)
{
foreach($koszyk as $id => $ilosc) ## wyświetlamy nazwy produktow z bazy oraz ich ilość ##
{
$zapytanie = "SELECT nazwa, id FROM produkty WHERE id='$id' ";
$wykonaj = mysql_query ($zapytanie);
$wiersz = mysql_fetch_array ($wykonaj);
$n=1;
$n++;
$cena['$n'] = 1;
$ilosctowaru['$n'] = $ilosc;
echo "<a href="index.php?show=produkty&id=$id&".SESID."">".$wiersz['nazwa']."</a><br> x ".$ilosc." szt.<br>";
}
echo "==============<br>
Suma: ";
## no i tu zonk - nie wiem jak zliczyc sume wszystkich produktow uwzgledniajac ilośc zamowionych sztuk czyli cos takiego jak cena*ilosc gdziecena jest pobierana z bazy :/ ##
for ($i=1; $i<=$n ; $i++) // tu coś kombinowalem ale nici :/
{
$dupa = "".$ilosctowaru['$n']."";
}

}
else
{
echo "Koszyk pusty!";
}
}
$_SESSION["koszyk"] = $koszyk;
echo "<br> <a href = "?show=usun_kosz">Usun koszyk</a>";
}
else
{ session_unregister("koszyk");
echo "Usuniety!";
}
?>[/php:1:9bfc220158]

Z gory dziekuję smile.gif
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 14:24