Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z koszykiem
Forum PHP.pl > Forum > PHP
ka06
Witam
Mam mały problem z moim koszykiem na zakupy , chciałem dorobic mozliwosc usuwania konkretnego towaru , ale nie bardzo wiem jak sie za to zabrac.
Kod
<?php
    @session_start();

    mysql_connect('localhost', 'root', '') or die ("Nie moĹźna połączyć siÄ™ z MySQL!");
    mysql_select_db('sklep') or die ("Nie moĹźna połączyć siÄ™ z bazÄ… danych!");
    
    $i = $_SESSION['il_elem'];


    echo "<h2 style='text-align: center;'>Koszyk</h2><br />";
    echo "<table border=1>";
    echo "<tr><th width=200>Towar</th><th width=100>Ilość</th><th width=100>Cena</th><th width=50><th></tr>";
    for ($a=0; $a<$i; $a++){
          echo "<tr>";
//------------------------------------------------------------------------------------------------------------------------------
          $query = "SELECT nazwa FROM towary WHERE id_towaru = ".$_SESSION['koszyk']['id_towaru'][$a]."";
        $result = mysql_query($query);
        $row = mysql_fetch_array($result);
//------------------------------------------------------------------------------------------------------------------------------        
        echo "<td>".$row['nazwa']."</td>";
        echo "<td>".$_SESSION['koszyk']['ilosc'][$a]."</td>";
        echo "<td>".$_SESSION['koszyk']['cena'][$a]."</td>";
        echo "<td>".$_SESSION['koszyk']['id_towaru'][$a]."</td>";
            $usun= $a--;

        echo "<td><a href='index.php?event=koszyk&'.$usun.''>usun</a></td>";
        echo "</tr>";
    }
    echo "</table>";
adbacz
Powinieneś trzymać taką tablicę w sesii:
  1. 1 => array(
  2. 'id' => 1,
  3. 'name' => 'nazwa',
  4. 'price' => 12.34
  5. ),
  6. 2 => array(
  7. 'id' => 2,
  8. 'name' => 'nazwa',
  9. 'price' => 12.34
  10. ),
  11. );

A nie taką:
  1. 'id' => array(
  2. 1 => 1,
  3. 2 => 2
  4. ),
  5. 'name' => array(
  6. 1 => 'nazwa',
  7. 2 => 'nazwa'
  8. ),
  9. 'price' => array(
  10. 1 => 12.34,
  11. 2 => 12.34
  12. )
  13. );

Z czystego powodu - podczas usuwania, usuwasz tylko jeden index ($array[$id]), a gdy masz drugą tablicę, muszisz usuwać trzy razy ($array['id'][$id] oraz $array['name'][$id] i jeszcze $array['price'][$id]).

Jak chcesz usuwać nie modyfikując kodu, to musisz pobierać ID towaru z tablicy $_SESSION['koszyk']['id_towaru'][$a] gdzie zmienna $a to kolejny index towaru. I po prostu wrzucasz wartość spod tego indexu do zapytania SQL.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.