Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pobieranie wartosci ze zmiennych w innych plikach
Forum PHP.pl > Forum > XML, AJAX > AJAX
ojciecredaktor
Witam
Jestem tutaj nowy i początkujący z AJAX.
Mam problem z menu type drop down, które działa na bazie danych do OsCommerce.
Całe menu działa tylko mam problem z wygenerowaniem linku do podstrony żeby można było poruszać się za pomocą tego menu po sklepie.
Użyłem kodu źródłowego Roshana wszystko dopasowalem do potrzeb OsCommerce.
Czy ktoś mógł by mi z tym pomóc ?

Link ktory muszę wygenerować musi mieć postać index.php?cPath=x_x_x_x
gdzie x - przedstawia numer kategorii pobrany z bazy danych

Działanie menu można zobaczyć tutaj
http://instytutppdr.nazwa.pl/ELPAmoto/test

Kod źródłowy w plikach
http://www.megaupload.com/?d=YEWMZRLW
buliq
Ae na czym polega twoja trudność? nie wiesz jak wyciągnąć x ? przypisuj do zmiennych i zapamiętuj np w sesji ?
ojciecredaktor
Kiedy użytkownik już wybierze ze wszystkich list daną kategorie na przyklad Osobowe -> Volvo -> V70 -> 2007 nie wiem jak pobrać te numerki tych kategorii i wygenerować taki link
Fifi209
Zapewne z adresu na który wszedł? Dajesz tak mało informacji, że ciężko coś wywnioskować.
ojciecredaktor
Os Commerce generuje takiego typu link
http://instytutppdr.nazwa.pl/ELPAmoto/inde...?cPath=1_4_5_16
to jest odwolanie do kategorii Osobowe -> Volvo -> V70 -> 2007
numerek 1 oznacza osobowe
4 Volvo
5 V70
16 2007

Mam na myśli jak dodać tutaj do mojego menu guzik GO albo link ze słowem przejdź, żeby to menu spełniało swoją funkcję i przechodziło na wybrane podstrony.

W bazie danych w tabeli categories są zapisane categories_id na podstawie którego są generowane później linki.
Fifi209
Zrób sobie form'a powiedzmy:
  1. <form id="przekierowanie" action="" method="GET">
  2. <input type="submit" value="GO"/>
  3. </form>


W JS:
[JAVASCRIPT] pobierz, plaintext
  1. // przy zmianie w menu
  2. var link = "http://instytutppdr.nazwa.pl/ELPAmoto/index.php?cPath=";
  3.  
  4. var cats = new Array(1,4,15); // liczby zastąp tymi pobieranymi z menu
  5.  
  6. link += cats.join('_');
  7.  
  8. document.getElementById('przekierowanie').action = link; // chyba tak ^^
[JAVASCRIPT] pobierz, plaintext
ojciecredaktor
Dzieki za pomoc, będę coś kombinować
Fifi209
Zmień method z GET na POST i powinno śmigać, mój błąd.
ojciecredaktor
Ok zrobiłem jak napisałeś. Jak numery są podpięte na sztywno wszystko jest ok.
Żeby dynamicznie podstawiać numery zadeklarowalem zmienne globalne
na przyklad var cat1Id

[JAVASCRIPT] pobierz, plaintext
  1. var cat1Id
  2.  
  3. function getState(category1Id)
  4. {
  5. var strURL="findState.php?category1="+category1Id;
  6. cat1id=category1Id;
  7. var req = getXMLHTTP();
  8. if (req)
  9. {
  10. req.onreadystatechange = function()
  11. {
  12. if (req.readyState == 4)
  13. {
  14. // only if "OK"
  15. if (req.status == 200)
  16. {
  17. document.getElementById('statediv').innerHTML=req.responseText;
  18. } else {
  19. alert("There was a problem while using XMLHTTP:\n" + req.statusText);
  20. }
  21. }
  22. }
  23. req.open("GET", strURL, true);
  24. req.send(null);
  25. }
  26. }
[JAVASCRIPT] pobierz, plaintext


ale jednak nie zdaje to egzaminu
buliq
Za każdym razem jak coś wybierzesz to wysyłasz dane do php, pobierasz nowy form na podstawie pierwszego x tak? Więc dlaczego nie wrzucisz tej wartości pierwszego do do zmiennej w js i nie przekażesz jej dalej do serwera? Na ostatnim kroku będziesz miał 3 x i wartość z z obecnego formularza. Wstawiasz to do linka i z głowy.
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.