Witam.
W tematyce PHP i MySQLa jestem początkujący i nie mogę sobie poradzić z pewnym problemem. Swója pracę opieram na książce "Dynamiczne strony WW PHP i MySQL" Larry'ego Ullmana. Fragment kodu z którym mam problem jest następujący:
<?php
// Sprawdzenie czy formularz został wypełniony(aktualizacji koszyka zakupów).
if (isset ($_POST['submit'])) { foreach ($_POST['qty'] as $key => $value) {
unset ($_SESSION['cart'][$key]); } elseif ( is_numeric ($value) AND
($value > 0
) ) { $_SESSION['cart'][$key] = $value;
}
}
}
// Sprawdzenie czy koszyk zakupów jest pusty.
$empty = TRUE;
if (isset ($_SESSION['cart'])) { foreach ($_SESSION['cart'] as $key => $value) {
$empty = FALSE;
}
}
}
// Wyświetlenie koszyka zakupów jeśli nie jest pusty.
if (!$empty) {
require_once ('./../mysql_connect.php'); // Nawiązanie połączenia z bazą danych.
// Pobranie wszystkich informacji dotyczących produktów umieszczonych w koszyku.
$query = 'SELECT * FROM kategorie, produkty WHERE kategorie.kat_id = produkty.kat_id AND produkty.pro_id IN (';
foreach ($_SESSION['cart'] as $key => $value) {
$query .= $key . ',';
}
$query = substr ($query, 0, -1) . ') ORDER BY kategorie.kat_nazwa ASC'; // Utworzenie tabeli i formularza.
echo '<table style="border: solid 1px; width: 770px; margin: 0 auto; margin-top: 20px; padding: 0 0; font-size: 12px" cellspacing="3" cellpadding="3"> <tr>
<td style="text-align: left; width: 35%; background-color: #DDDDEE;" >Produkt</td>
<td style="text-align: center; width: 20%; background-color: #35356A; color: white">ID produktu</td>
<td style="text-align: center; width: 15%; background-color: #DDDDEE;">Cena</td>
<td style="text-align: center; width: 10%; background-color: #35356A; color: white">Ilość</td>
<td style="text-align: right; width: 20%; background-color: #DDDDEE;">Suma</td>
</tr>
<form action="index.php?p=koszyk" method="post">
';
// Wyświetlenie każdej pozycji.
$total = 0; // Całkowity koszt zamówienia.
// Obliczenie sumy końcowej i częściowych.
$subtotal = $_SESSION['cart'][$row['pro_id']] * $row['pro_cena'];
$total += $subtotal;
// Wyświetlenie wiersza.
<td style='text-align: left;'>{$row['pro_nazwa']}</td>
<td style='text-align: center;'>{$row['pro_ident']}</td>
<td style='text-align: center'>{$row['pro_cena']} zł</td>
<td style='text-align: center;'><input type=\"text\" size=\"3\" name=\"qty[{$row['pro_id']}]\" value=\"{$_SESSION['cart'][$row['pro_id']]}\" /></td>
<td style='text-align: right;'>" . number_format ($subtotal, 2) . " zł</td> </tr>";
} // Koniec pętli WHILE.
// Wyświetlenie stopki HTML oraz zamknięcie tabeli i formularza.
<td colspan="4" align="right"><b>Suma zamówienia:<b></td>
</tr>
</table>
<div style="text-align: left; margin-left: 10px "><p>W celu usunięcia produktu z koszyka należy zmienić "ilość" na 0 i następnie zaktualizować koszyk.</p></div>
<div style="text-align: right; padding-right: 10px; padding-top: 5px"><input type="submit" name="submit" value="Aktualizuj koszyk" /></div>
</form>
';
// POŁĄCZENIE Z BAZĄ WYSYLKA
$query = 'SELECT * FROM wysylka ';
<table style="border: solid 1px; width: 770px; margin: 0 auto; margin-top: 20px; padding: 0 0; font-size: 12px" cellspacing="3" cellpadding="3">
<tr>
<td style="text-align: left; width: 70%; background-color: #DDDDEE;">Wybierz rodzaj przesyłki</td>
<td style="text-align: center; width: 20%; background-color: #35356A; color: white">Cena</td>
<td style="text-align: center; width: 10%; background-color: #DDDDEE;">Wybierz</td>
</tr>
';
// Wyświetlenie każdej pozycji.
<form action='index.php?p=koszyk' method='post'>
<tr>
<td style='text-align: left'>{$row['wys_nazwa']}</td>
<td style='text-align: center'>{$row['wys_cena']} zł</td>
<td style='text-align: center'><input type='radio' id='pp_pp' name='wysylka' value='{$row['wys_cena']}'></td>
</tr>
</form>
";
} // Koniec pętli WHILE.
</table>
<div style='padding-right: 10px; width: 150px; margin-top: 3px; float: right'><a href='index.php?p=checkout'><p class='p_button'>Realizuj zamówienie</p></a></div>
";
} else {
echo '<p style="text-align: center; margin-top: 30px;">Aktualnie koszyk zakupów jest pusty.</p> ';
}
?>
Na stronie wygląda to tak:

Chciałbym sprawić aby po wybraniu jednego z pól radio, który dotyczy wyboru wysyłki (wiersz 104 skryptu), aktualizowana była Suma całkowita zamówienia (wiersz 71), a pole radio pozostawało nadal zaznaczone.
Z góry dzięki za pomoc.
Ten post edytował vLeK 29.05.2009, 11:16:29