Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [AJAX][PHP]Wózek zakupów.. onclick?
pa-jong
post
Post #1





Grupa: Zarejestrowani
Postów: 64
Pomógł: 1
Dołączył: 21.02.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam,

po raz kolejny muszę sie zwrócic do Was o pomoc..
sprawa ma się tak:
buduję koszyk zakupów...

sam koszyk nie jest większym problemem.. jest już zrobiony działa..

w pętli wyświetlam liste produktów. Po kliknięciu w nazwę dodaje produkt do koszyka. Działa.
  1. echo "<td class='nazwa'><a href=koszyk.php?action=add&id=".StringToHTML($arrRow["Symbol"])."'>".StringToHTML($arrRow["Nazwa"])."</td>".$eol;


koszyk.php

  1.  
  2. $cart = $_SESSION['cart'];
  3. $action = $_GET['action'];
  4.  
  5.  
  6. switch ($action) {
  7. case 'add':
  8. if ($cart) {
  9. $cart .= ','.$_GET['id'];
  10. } else {
  11. $cart = $_GET['id'];
  12. }
  13. break;
  14.  
  15. (...)
  16.  
  17. if ($cart) {
  18. $items = explode(',',$cart);
  19. $contents = array();
  20. foreach ($items as $item) {
  21. $contents[$item] = (isset($contents[$item])) ? $contents[$item] + 1 : 1;
  22. }
  23. $output[] = '<form action="koszyk.php?action=update" method="post" id="cart">';
  24. foreach ($contents as $id=>$qty) {
  25.  
  26.  
  27. $sql = 'SELECT * FROM stany WHERE symbol = '.$id;
  28. $result = $db->query($sql);
  29. $row = $result->fetch();
  30. extract($row);
  31. $output[] = "<tr class='".$class."' onmouseover='this.className=\"".$classOver."\"' onmouseout='this.className=\"".$class."\"'>";
  32. $output[] = '<td><a href="cart.php?action=delete&id='.$id.'" class="r" style="color:red;">Usuń</a></td>';
  33. $output[] = '<td>'.$Nazwa.'</td>';
  34. $output[] = '<td>'.$skl1Cena.' zł</td>';
  35. $output[] = '<td><input type="text" name="qty'.$id.'" value="'.$qty.'" size="3" maxlength="3" /></td>';
  36. $output[] = '<td><b>'.$skl1.' szt.</b></td>';
  37. $output[] = '<td><b>'.$skl11.' szt.</b></td>';
  38. $output[] = '<td>'.($skl1Cena * $qty).'zł</td>';
  39. $output[] = '<td><button type="submit">Aktualizuj</button></td>';
  40. $total += $skl1Cena * $qty;
  41. $output[] = '</tr>';
  42. }
  43. $output[] = '<tr><td colspan="5"></td><td>W sumie: </td><td><strong>'.$total.' zł</strong></td><td></td></p>';
  44.  
  45. $output[] = '</table>';
  46.  
  47. $output[] = '</form>';
  48. } else {
  49. $output[] = '<p>Twoje zamowienie jest puste.</p>';
  50.  


i sprawa byłaby zamknięta, ale...
po kliknięciu w dowolny produkt za każdym razem przenosi mnie do strony z zawartością koszyka.. denerwujące biorąc pod uwagę ze zamówienie bedzie się składać ze 100+ pozycji..

próbowałem zrobić to w jednym pliku przenosząc cześć kodu odpowiedzialną za dodawanie do index.php ale wtedy...
...na stronie z listą (index) jest stronicowanie.. i dajmy na to:
dodaje 5 pozycji z pierwszej podstrony.. zmieniam podstrone na 2 i klikam w dowolny produkt.. produkt się dodaje, ale przenosi mnie do strony 1..

wszystko jasne odpowiedzialny jet za to link który przenosi mnie czy to do index.php czy do koszyk.php
  1. <a href=koszyk.php?action=add&id=".StringToHTML($arrRow["Symbol"])."'>


i tu jest własnie problem..

na chłopski rozum... potrzebuje wysłać do koszyka -> action=add&id=... bez odświeżenia strony.. czyli w grę wchodzi jquery/Ajax z którymi średnio sobie radzę..
pytanie brzmi jak zamienić ten link na zdarzenie dajmy na to onclick ?
proszę Was dobrzy ludzie o nakierowanie mnie na jakieś materiały, a najlepiej jakiś przykład bym mogł zgłębić jego tajniki wink.gif

próbowałem rozgryźć jak to jest zrobione tutaj -> http://portaldemo.endor.pl/Sklep,53.html
niestety to:
onclick="xmlAjaxPost({out:"xml",mode:"Shop",object:"addItem",kid:"57",prize:"20",weight:"5",count:"1"});"

przerosło moje możliwości..
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 05:58