Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][wp] Przekazanie zmiennej js do zapytania sql
Forum PHP.pl > Forum > Przedszkole
Lejto
Witajcie, mam problem z dynamicznym ładowaniem się stron. Nie będe tutaj wklejał całego kodu bo wszystko działa oprócz wstawienia zmiennej js do zapytania sql.

  1. <script>
  2. var file, n;
  3.  
  4. file = window.location.pathname;
  5. n = file.lastIndexOf('/');
  6. if (n >= 0) {
  7. file = file.substring(n + 1);
  8. }
  9. alert (file);
  10. </script>
  11.  
  12. <?php
  13. var_dump($_GET);
  14.  
  15. $the_query = new WP_Query( 'page_id=tutaj chce mień to co się wyświetla w file' );
  16.  
  17. // The Loop
  18. if ( $the_query->have_posts() ) {
  19. while ( $the_query->have_posts() ) {
  20. $the_query->the_post();
  21. echo the_content();
  22. }
  23. } else {
  24. // no posts found
  25. echo 'brak';
  26. }


Odczytuje adres witryny która się ładuje dynamicznie i muszę przekazać odrazu do zapytania, tak aby strona się wczytała. Co zrobić?

mstraczkowski
Nie możesz przekazać wartości zmiennej z JavaScriptu do PHP.
Możesz ewentualnie z PHP do Javascriptu, ale odwrotnie to nie da rady.

Musisz rozwiązać to inaczej, np za pomocą ajaxa, lub czegoś w tym rodzaju.
SmokAnalog
Kolega w ogóle od d*** strony się za to zabiera. Po co w JavaScript pobierasz nazwę pliku, skoro to samo możesz zrobić w PHP? To raz. Dwa, że nawet robienie tego z poziomu PHP to dziwaczny pomysł. Poczytaj sobie o tym jak prawidłowo pracować z WP_Query i jak nauczyć ją współpracować z własnymi parametrami.
Lejto
Możesz mnie jakoś dokładniej naprowadzić?
edit:
@SmokAnalog próbowałem wczytać zmienną przez $_GET, przy zmianie strony php się nie 'odświerza'
SmokAnalog
Poczytaj np. to: http://codex.wordpress.org/Custom_Queries smile.gif
Lejto
Okej, dzięki poczytam, ale wcześniej zrobiłem coś takiego
  1. $exp = explode("/", $_SERVER['REQUEST_URI']);
  2. $req = explode(".", $exp[sizeof($exp)-1]);
  3.  
  4. if($req[0] <> NULL)
  5. {
  6.  
  7. //var_dump($req[0]);
  8. // if(!isset($_GET['strona']) || empty($_GET['strona'])) exit;
  9. $the_query = new WP_Query( 'pagename='.$req[0]);
  10.  
  11. // The Loop
  12. if ( $the_query->have_posts() ) {
  13. while ( $the_query->have_posts() ) {
  14. $the_query->the_post();
  15. echo the_content();
  16. }
  17. } else {
  18. // no posts found
  19. echo 'brak';
  20. }
  21. }

i działa aż miło
SmokAnalog
Twój kod robi podobną rzecz co prawidłowe użycie parametrów WP Query, tylko naokoło. Korzystając z frameworków czy CMS-ów powinno się respektować ich zasady i wbudowane funkcjonalności zamiast osiągać to samo inną metodą. W ten sposób osiągasz o wiele lepszą elastyczność kodu i Twój projekt jest otwarty na aktualizacje, nie mówiąc już o optymalizacji i czytelności. "Działa" nie zawsze równa się "jest dobrze". Wiele osób tworzy swoje stronki na Wordpressie edytując pliki w wp-includes i wp-admin. Czy strony im działają? Tak. Czy to dobry pomysł? Nie.
Lejto
@SmokAnalog, oczywiście zgadzam się z tobą. Zapoznałem się już z prawidłowym użyciem parametrów w WP Query. Tylko wstawiłem to co zrobiłem przed rozpoczęciem lektury z WP Query smile.gif
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.