Znalazłem pewien prosty skrypt koszyka obsługujący produkty pobrane z tablicy. Poniżej zamieszczam listingi tego skryptu.

produkty.php
  1. <?php
  2. $produkty[]=array('nazwa'=>'monitor','cena'=>400,'opis'=>'15" LCD');
  3. $produkty[]=array('nazwa'=>'myszka','cena'=>25,'opis'=>'mała mysz optyczna');
  4. $produkty[]=array('nazwa'=>'klawiatura','cena'=>30,'opis'=>'fajna');
  5. $produkty[]=array('nazwa'=>'cd-rom','cena'=>50,'opis'=>'chyba działa');
  6. $produkty[]=array('nazwa'=>'laptop','cena'=>2300 ,'opis'=>'super laptop');
  7. ?>


index.php
  1. <?php
  2. include_once('produkty.php');
  3. if( $_POST['wyslij'] && !empty($_POST['imie']) && !empty($_POST['adres']) ){
  4. $zapisz=date('d-h-i')."\n";
  5. $zapisz.='imie: '.$_POST['imie']."\n adres: ".$_POST['adres']."\n zamówienie: \n";
  6. foreach($_SESSION['koszyk'] as $id => $ile){
  7. $zapisz.=$produkty[$id]['nazwa']." ilość: $ile \n";
  8. $cena+=$produkty[$id]['cena']*$ile;
  9. }
  10. $zapisz.='razem: '.$cena.'zł';
  11. file_put_contents(session_id().date('dhis').'.txt',$zapisz);
  12. header('location: shop.php');
  13. }
  14. echo "<html><head><meta http-equiv='content-type' content='text/html; charset=utf-8' /></head><body>";
  15. if($_POST['edytuj']==true){
  16. foreach ($_POST as $pr => $ile){
  17. if(is_array($produkty[$pr])){
  18. if($ile=='' or $ile==0){
  19. unset($_SESSION['koszyk'][$pr]);
  20. }else{
  21. $_SESSION['koszyk'][$pr]=(int)$ile;
  22. }
  23. }
  24. }
  25. }
  26. if(is_array($produkty[$_GET['id']])){
  27. $_SESSION['koszyk'][$_GET['id']]=$_SESSION['koszyk'][$_GET['id']]+1;
  28. }
  29. if($_SESSION['koszyk']==null){
  30. echo 'brak produktów w koszyku<hr/>';
  31. }else{
  32. $cena=0;
  33. echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post">
  34. imie<input type="text" name="imie" value="'.$_POST['imie'].'" /><br/>
  35. adres<input type="text" name="adres" value="'.$_POST['adres'].'" /><br/>';
  36. foreach($_SESSION['koszyk'] as $id => $ile){
  37. echo $produkty[$id]['nazwa'].'-<input type="text" name="'.$id.'" value="'.$ile.'"><br/>';
  38. }
  39. echo '<input type="submit" name="edytuj" value="zapisz zmiany"><input type="submit" name="wyslij" value="wyślij zamówienie"></form>';
  40. }
  41. echo '<table border=1><tr><td>nazwa</td><td>opis</td><td>cena</td><td>opcje</td></tr>';
  42. foreach($produkty as $id => $ar){
  43. echo '<tr><td>'.$ar['nazwa'].'</td><td>'.$ar['opis'].'</td><td>'.$ar['cena'].'</td>
  44. <td><a href="?id='.$id.'">dodaj do koszyka</a></td></tr>';
  45. }
  46. echo '</table></body></html>';
  47. ?>



Chciałbym ten skrypt przerobić na koszyk obsługujący baze mysql. Na początek stworzyłem sobie taką tabele:

  1. CREATE TABLE produkty(
  2. id INT (5) NOT NULL AUTO_INCREMENT,
  3. nazwa VARCHAR (255) NOT NULL,
  4. cena INT (6) NOT NULL,
  5. opis VARCHAR (255) NOT NULL,
  6. PRIMARY KEY (id));


Tylko teraz nie wiem za bardzo jak się za to zabrać, tzn. jak przerobić ten kod znajdujący się w pliku index.php tak żeby dane o produktach były pobierane z tabeli bazodanowej a nie z tablicy. Z góry dziękuje za każde wskazówki/pomoc. Pozdro smile.gif