Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][ajax][jquery] aktualizacja danych na stronie
tish83
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 4.08.2009

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


Witam, potrzebuje pomocy ze skryptem - jestem totalnym laikiem w tematyce ajax, a chciałabym żeby dane na stronie automatycznie aktualizowały mi się po dodaniu rekordu do bazy.
W czym problem:
1. mam plik index.php o strukturze:
<?php
ob_start();

session_start();
if(!session_is_registered("uzytkownik") || $_GET['logout']==1)
{ // Sprawdza zmienną sesji.
session_destroy(); // Przekierowanie do index.php
if( $_GET['logout']==1){
header("location: index.php");}
}

$start=microtime();
// kod do liczenia czasu ładowania strony
?>
<?
include("scripts/setup.php");
include("scripts/functions.php");
//include("scripts/functions.js");
include("scripts/db.class.php");

$DB = new DBClass('xxx', array('xxx'=>array($dbhost,$dbuser,$dbpass,$dbname)));
$DB->Execute("SET CHARACTER SET utf8");
$DB->Execute("SET NAMES utf8");
$DB->_DEBUG(TRUE);

$adm=$_GET['id'];
if(!$adm) $adm='produkty';
$newwind=$_GET['newwind'];

include_once("parts/header.php"); //tutaj mam wyświetlanie wartości koszyka
//tylko to co poniżej się przeładowuje...
if (file_exists("parts/modules/".$adm.".php"))
{
include('parts/modules/'.$adm.'.php');
}


if (file_exists("parts/templates/".$adm.".php"))
{
include('parts/templates/'.$adm.'.php');
}

include("parts/footer.php");

?>

2. w includowanym pliku header mam wszystkie znaczniki head + "górną część strony czyli menu i m.in. <table> w której wyświetla się aktualny stan koszyka, a raczej MIAŁ się wyświetlać

3. po tym includowane sa skrypty dotyczące poszczególnych podstron, m.in. dodawania produktów do koszyka

i tutal jest problem - po dodaniu produktu do koszyka chciałabym, aby automatycznie aktualizowal mi zawartość koszyka, którego wyświetlanie jest w header (IMG:style_emoticons/default/sad.gif)

Czy może ktoś mi podpowiedzieć jak to zrobić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Arcioch
post
Post #2





Grupa: Zarejestrowani
Postów: 324
Pomógł: 110
Dołączył: 18.09.2012

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


Z tego co zrozumiałem chcesz po kliknięci w przycisk typu "dodaj do koszyka" js wysłać zapytanie do mysql z produktem i zaktualizować produkt w koszyka. Nic nie szkodzi na przeszkodzie aby to zrobić pomimo iż te pliki z koszykiem jest w innym pliku niż plik z produktami. Napisze Ci krok po kroku jak to zrobić a jeśli sobie nie poradzisz to napiszemy to razem.

1. Po pierwsze każdy produkt ma pewnie jakiś identyfikator. Klikając na przycisk dodaj do koszyka musisz wysłać ajaxem do pliku php identyfikator tego produktu i inne potrzebne Ci parametry (np. ilość sztuk). Przykład takiego kodu w jQuery.

  1. $("uchwyt do przysicku dodaj do koszyka").click(
  2. $.ajax({
  3. type: "POST",
  4. url: 'adres pliku w którym będziesz odbierał dane',
  5. data: "parametr który wysyłasz="+ jego wartość,
  6. cache: false,
  7. dataType: "json",
  8. success: function(data){
  9. TU będzie odpowiedz z pliku php którą będziesz aktualizował html
  10. }
  11. });
  12. });


2. W pliku php musisz sobie przygotować kod który odbierze dane z posta i odpowiednio je przetworzy zwracając albo JSONA z danymi albo JSONA z gotowym już widokiem danego produktu dodanego do koszyka.
3. Po wysłaniu danych JSONEM z php do jQuery w parametrze success dodajesz za pomocą funkcji append() dane do Twojego widoku html.

Mam nadzieję że w miarę po ludzku to wyjaśniłem (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 6.10.2025 - 22:31