Witam serdecznie.
Robie cos na wzor sklepu internetowego. Produkty do koszyka sie dodaja. Jesli dodam produkt x razy, bedzie widoczny stan jako x. Tu jestem zadowolony. Jednak obok stanu (pole input z zamknieta mozliwoscia zmian) mam sobie 2 linki
+ i
-. Obydwa odwoluja sie do tego samego pliku, gdzie jest klasa wyswietlajaca dane pliku.
A wiec wyglada to tak. Funkcja dodajaca przedmioty:
<?PHP...
public function order() {
if (!isset($_SESSION['shop'][$_SESSION['customer_ID']])) { $_SESSION['shop'][$_SESSION['customer_ID']] = array(); }
if (!isset($_SESSION['ID_' . $_SESSION['customer_ID']])){ $_SESSION['ID_' . $_SESSION['customer_ID']] = 0;
}
if($_GET['ID']){
$_SESSION['shop'][$_SESSION['customer_ID']][] = $_GET['ID'];
$_SESSION['ID_' . $_SESSION['customer_ID']]++;
}
}
...?>
I pokazujaca koszyk:
<?php
public function show_shop() {
if (!isset($_SESSION['shop'][$_SESSION['customer_ID']])) { echo '<div align="center"><span class="font_error">Koszyk pusty.</span></div>'; } else {
include ('./templates/default/shop_header.tpl');
foreach (array_unique($_SESSION['shop'][$_SESSION['customer_ID']]) as $k => $v) { $query = 'SELECT * FROM products
WHERE product_ID="' . $v . '"';
$product_ID = $record[0];
$mark_ID = $record[2];
$name = $record[4];
$price = $record[6];
$query_gm = 'SELECT * FROM marks
WHERE mark_ID="' . $mark_ID . '"';
$mark = $record_gm[2];
$_SESSION['how_many'] = count(array_keys($_SESSION['shop'][$_SESSION['customer_ID']], $product_ID));
if ($_GET['PID'] == $product_ID && $_GET['option'] == 'add') {
$array = $_SESSION['shop'][$_SESSION['customer_ID']];
// dodanie 1 klucza/wartosci (tylko nie o istniejacej nazwie)
} elseif ($_GET['PID'] == $product_ID && $_GET['option'] == 'remove') {
$array = $_SESSION['shop'][$_SESSION['customer_ID']];
// usuniecie 1 klucza/wartosci (tylko nie o istniejacej nazwie)
}
$_SESSION['how_many'] = count(array_keys($_SESSION['shop'][$_SESSION['customer_ID']], $product_ID));
echo '<form action="shop_' . $_SESSION['customer_ID'] . '.html" method="post">' . "r\n"; echo '<table cellpadding="0" cellspacing="0">' . "r\n"; echo '<td class="td_product_db"><a href="product_' . $product_ID . '.html">' . $mark . ' ' . $name . '</a></td>' . "r\n"; echo '<td class="td_product_dc">' . $price . ' zł</td>' . "r\n"; echo '<td class="td_product_dd"><a href="shop_' . $_SESSION['customer_ID'] . '_' . $product_ID . '_add.html"><b>+</b></a> <a href="shop_' . $_SESSION['customer_ID'] . '_' . $product_ID . '_remove.html"><b>-</b></a> <input name="how_many_' . $product_ID . '" size="1" type="text" disabled value="' . $_SESSION['how_many'] . '" /> <a href="shop_' . $product_ID . '_delete.html"><span class="font_underline">U</span>suń</a></td>' . "r\n";
echo '<td class="td_product_de">'; printf("%.2f", $price*$_____TO_____DO_____); echo ' zł</td>' . "r\n"; ... // koncowki tabel
...?>
Sek w tym, ze mecze sie juz 3. godz. i nic nie moge zdzialac. Probowalem polowe funkcji z manuala->array i to samo. Unset nie chce sie sluchac. A musze koniecznie usunac ze zmiennej $values, bo tam mam konkretnie wybrany produkt. Jak usuwalem z $array (czyli wszystko) to lecialo jak popadnie, a nie konkretnie to, co mialo byc usuniete.
Prosze o pomoc.
Naprawde nikt nie wiem? :-(