Skocz do zawartości

[php][wp] Przekazanie zmiennej js do zapytania sql


Lukassz

Rekomendowane odpowiedzi

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.

	    <script>
           var file, n;

           file = window.location.pathname;
           n = file.lastIndexOf('/');
           if (n >= 0) {
           file = file.substring(n + 1);    
           }
           alert    (file);
           </script>

           <?php
           var_dump($_GET);

           $the_query = new WP_Query( 'page_id=tutaj chce mień to co się wyświetla w file' );

           // The Loop
           if ( $the_query->have_posts() ) {
               while ( $the_query->have_posts() ) {
                   $the_query->the_post();
                   echo the_content();
               }
           } else {
               // no posts found
               echo 'brak';
           }

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

Odnośnik do komentarza
Udostępnij na innych stronach

Kod nie działa, ponieważ najpierw wykonywany jest skrypt PHP (po stronie serwera), a dopiero później javascript (po stronie przeglądarki), więc dla kodu PHP zmienna file nie istnieje.

Jeśli chcesz przekazać zmienną z javascript do PHP, to musisz użyć Ajaxa. Kod poniżej jest w jQuery, ale jest wygodniejszy niż zwykły javascript. Kod nie działa, tyko pokazuje ogólną ideę :)

$.ajax({
type: "POST",
url: "url_pliku_z_php.php",
data: zmienna_file_w_json,
dataType: "json",
success: function(msg){
if(parseInt(msg.status)==1)
{
// tutaj wyświetlanie danych przekazanych w msg przez url_pliku_z_php.php. Wyświetlanie oczywiście w javascript.
}
}
});

W pliku "url_pliku_z_php.php" piszesz kod, odczytujący zmienną "zmienna_file_w_json" przekazywaną przez Ajax. Następnie kod ma odczytać dane z bazy i przekazać je do pliku z Ajax. Dane możesz przekazać za pomocą kodu:

die('{status:1,dane1:"dane",dane2:"dane"}');

Odnośnik do komentarza
Udostępnij na innych stronach

Co zrobić?

Uczyć się programowania, a nie "strzelać" na oślep zlepkami kodu !

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności