Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] extract,koszyk,sesja= problem
Forum PHP.pl > Forum > Przedszkole
kielich
Witam mam taki probelm a mianowicie zrobiłem cały koszyk platnosci no ale utknołem przy durnym dodaniu zamuwienia do bazy tongue.gif a wiec mam sobie

Kod
wyswietl_koszyk($_SESSION['koszyk'])

funkcja co trzyma mi cały koszyk gdzie jest nazwa przedmiotu ilosc,foto etc
kiedy chce wyswietlic wszystki same nazwy co sa w koszu to mam probelm bo nie wiem jak próbowałem już przez extract
i nie było rezultatu zalezy mi tylko zeby nazwe wyciagnac dalej jakosc pojade bardzo prosze o pomoc
a i jeszcze koszyk funckja wyswietl_koszyk
Kod
  <?php  
@ $nowy = $_GET['nowy'];  
  
   if($nowy)  
   {  
     // wybrany nowy produkt  
     if(!isset($_SESSION['koszyk']))  
     {  
       $_SESSION['koszyk'] = array();  
       $_SESSION['produkty'] = 0;  
       $_SESSION['calkowita_wartosc'] ='0';  
     }  
     if(isset($_SESSION['koszyk'][$nowy]))  
       $_SESSION['koszyk'][$nowy]++;  
     else  
       $_SESSION['koszyk'][$nowy] = 1;  
     $_SESSION['calkowita_wartosc'] =        
                                       oblicz_wartosc($_SESSION['koszyk']);  
     $_SESSION['produkty'] = oblicz_produkty($_SESSION['koszyk']);  
  
   }  
   if(isset($_POST['zapisz']))  
   {    
     foreach ($_SESSION['koszyk'] as $isbn => $ilosc)  
     {  
       if($_POST[$isbn]=='0')  
         unset($_SESSION['koszyk'][$isbn]);  
       else  
         $_SESSION['koszyk'][$isbn] = $_POST[$isbn];  
     }  
     $_SESSION['calkowita_wartosc'] =  
oblicz_wartosc($_SESSION['koszyk']);  
     $_SESSION['produkty'] = oblicz_produkty($_SESSION['koszyk']);  
   }  
  if($_SESSION['koszyk']&&array_count_values($_SESSION['koszyk']))  
     wyswietl_koszyk($_SESSION['koszyk']);  
  
   else  
   {  
  echo "<span style='border:1px solid silver; color:#993a4e; font-weight:bold; padding:10px 250px 10px 25px; width:250px; line-height:100px;'>Koszyk jest pusty exclamation.gif!</span>";  
header ('Refresh: 1; url=index.php');  
   }


Kod
function wyswietl_koszyk($koszyk, $zmiana = true, $obrazki = 1)  
{  
  
   echo '<table  border="1" rules="all" bordercolor="silver" width = 100% cellspacing = 0>  
         <form action = basket.php method = post>  
         <tr><th colspan = '. (1+$obrazki) .' bgcolor="#5e99a3" ><font color="#fff">Produkt</font></th>  
         <th bgcolor="#5e99a3"><font color="#fff"> Cena:</font></th><th bgcolor="#5e99a3"><font color="#fff">Ilość</font></th>  
         <th bgcolor="#5e99a3"><font color="#fff">Wartość</font></th></tr>';  
  
  
   // wyświetlanie każdego produktu jako wiersza tabeli  
   foreach ($koszyk as $isbn => $ilosc)  
   {  
     $ksiazka = pobierz_dane_ksiazki($isbn);  
     echo '<tr>';  
  
       echo '<td align = center>';  
      
  
  
            echo '<img src="Foto/'.$ksiazka['foto'].'" border="0" ';  
            echo 'width = "150px" height = "130px;" />';  
      
  
  
       echo '</td>';  
  
  
     echo '<td align = left>';  
     echo '<a href = "opis.php?kategoria='.$ksiazka['nazwa_kategorii'].'&nazwa='.$ksiazka['id'].'" style="color:black; text-decoration:none; margin-left:10px;">'.$ksiazka['nazwa'].'</a>';  
     echo '</td><td align = center>PLN: '.str_replace(',','.',$ksiazka['cena']);  
     echo '<td align = center>';  
     // jeżeli zmiany są dozwolone, ilości znajdują się w polach tekstowych  
     if ($zmiana == true)  
       echo "<input type = 'text' name = \"$isbn\" value = \"$ilosc\" size = \"3\">";  
     else  
       echo $ilosc;  
     echo '</td><td align = "center">PLN '.str_replace(',','.',$ksiazka['cena']*$ilosc).'<a href="delete_produkt.php?nazwa='.$ksiazka['id'].'" alt = "Usuń" title= "usuń"  ><span class="basket"></span></a></td></tr>';  
      
  
   }  
   // wyświetl wiersz sumy  
   echo "<tr >  
           <th colspan = ". (2+$obrazki) ." bgcolor=\"#5e99a3\">&nbsp;</td>  
           <th align = \"center\" bgcolor=\"#5e99a3\">  
             <font color='#fff'> Łącznie:</font> ".str_replace(',','.',$_SESSION['produkty'])."szt.  
           </th>  
           <th align = \"center\" bgcolor=\"#5e99a3\">  
               <font color='#fff'> PLN:</font> ".str_replace(',','.',$_SESSION['calkowita_wartosc']);  
           '</th>  
            
         </tr>';  
          
   // wyświetl przycisk zapisujący zmiany  
   if($zmiana == true)  
   {  
     echo '<tr>  
             <td colspan = '. (2+$obrazki) .'>&nbsp;<a href="index.php" style="color:#8a0000; padding: 0 0 10px 10px; font-size:13px; text-decoration:none;"><input type = image src = "images/kontynuacja.gif"  
                      border = "0" alt = "kontynuacja zakupów" heigth = 40 width = 100></a>
</td>  
             <td align = left>  
               <input type = hidden name = zapisz value = true />  
               <input type = image src = "images/zapisz-zmiany.gif"  
                      border = "0" alt = "Zapisz zmiany" heigth = 40 width = 100>
  
             </td>  
             <td align=right><a href="weryfikacja.php" style="color:#8a0000; padding: 0 10px 0 0; font-size:13px; text-decoration:none;"><input type = image src = "images/do kasy.gif"  
                      border = "0" alt = "Do kasy" heigth = 40 width = 100></a></td>  
         </tr>';  
   }  
   echo '</form></table>';  
}
korro
Witam.

Wklej przykładowy print_r($_SESSION['koszyk']);

Pzdr.
kielich
dostaje normalnie array nie wiem jak by pusta tablica ale kiedy dam wyswietl_koszyk($_SESSION['koszyk']) wyswietla mi caly koszyk wszystko ładnie dajcie jakies rady
korro
Dałeś print_r, czy echo?
kielich
no dałem print_r i dostaje Array ( [2] => 3 ) w koszu mam 3 produkty
macie rade jak mam odczytac nazwe produktów w bazie sad.gif

Czy naprawde nikt nie jest w stanie mi pomóc??

kurcze help my naprawde nie mozecie mi pomóc jak mam wyciagnac nazwe produktów z koszyka caly koszyk to wyswietl_koszyk($_SESSION['koszyk'])
viking
Coś mi się zdaje że nie umiesz zapisywać i odczytywać tablic co widać choćby po oblicz_wartosc($_SESSION['koszyk']) i zaraz niżej oblicz_produkty($_SESSION['koszyk']). Przeczytaj jeszcze raz dokumentację w tym zakresie.
kielich
jeśli możesz mi pomóc to poprostu byś pokazał jak moge odczytac tak sie człowiek najlepiej uczy

dałem zminna session do $tablic o tak

Kod
$tablica=$_SESSION['koszyk'];

print_r($tablica);

i dostaje

Array (     [6] => 16     [1] => 2 )


Ps. w koszu produkty id6 id 1
jak mam odczytac ich nazwe to jest dla mnie bardzo wazne ...
jak widac nie czekam na gotowca bo pracuje sam i sie staram w odróżnieniu od innych na tym forum

A wiec zrobiłem tak myśle ze teraz mi pomożecie $ksiazka ktora pobiera dane ksiazki dodałem do sesji i na inne stronie wyswietlam

Kod
     $ksiazka = pobierz_dane_ksiazki($isbn);
     $_SESSION['ksiazka']=$ksiazka;


Kod
print_r($_SESSION['ksiazka']);
echo '


';
print_r($_SESSION['koszyk']);


i otrzymuje z sesji ksiazki
Kod
Array  (      [id] => 6      [nazwa] => ksiazk jakas       [nazwa_kategorii] => ksiazki      [opis] => dgfdgfdgdgfdgdfgdfgdfgdfgdfgdfgdfgdfgiudfd      [status] => 1      [foto] => book1.jpg      [foto1] => book1.jpg      [foto2] => book1.jpg      [foto3] =>       [cena] => 59.99      [czas_wystawienia] => 2009-06-30 16:36:40      [promo] => 1      [gw] => BRAK      [stan] => Nowa  )


a z sesji koszyk
Kod
Array  (      [5] => 7      [6] => 4  )


w koszyku sa 2 produkty co widać w sessji a w sesji ksiazka wyswietka mi tylko jeden ostatnio dodany produkt jak zrobic zeby wszystkie ID wyswietlił czy w tym wypadku 2

jakos odczytałem nazwe
Kod
echo "<pre>";
print_r($_SESSION['ksiazka']['nazwa']);
echo "</pre>";

i dostaje tylko jedna nazwe a produktów mam 2 w koszu sad.gif

dało sobie to wszystko w jedna wymiarowa tabice
i mam takie cos
Kod
Array
(
    [0] => Array
        (
            [id] => 3
            [nazwa] => golf
            [nazwa_kategorii] => samochody
            [opis] => sdfasdasasassadasdassadasdasdasasasd
            [status] => 1
            [foto] => golf.jpg
            [foto1] => golf.jpg
            [foto2] => golf.jpg
            [foto3] => golf.jpg
            [cena] => 2190
            [czas_wystawienia] => 2009-06-29 23:03:16
            [promo] => 0
            [wysylka] =>
            [gw] =>
            [stan] =>
        )

    [1] => Array
        (
            [5] => 7
            [3] => 4
        )

)


ale nadal wyciagam jedna nazwe ta ostatnia dodaną do koszyka a normalnie mam np 2
prosze o reda jak to rozwiązac
viking
Przepisz to raczej do postaci $_SESSION['ksiazki'][$idKsiazki] = array(); gdzie array niech zawiera informacje takie jak isbn, opis, nazwa itd.
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.