• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Przesłanie informacji do innej podstrony PHP

Object Storage Arubacloud
0 głosów
384 wizyt
pytanie zadane 11 lipca 2019 w PHP przez mateusz.zajac Obywatel (1,460 p.)

Cześć,

Mam dwie strony categories.php i list.php W pliku categories.php wyciągam z bazy danych tytuł listy i link do obrazka dla niego. Pętla wyciąga wszystkie listy z wybranej wcześniej kategorii.  

//pobieramy wybor z menu na stronie głównej
                        $category = $_GET['category'];  
                      //zapytanie do bazy o listę z danej kategorii
                        if ($rezultat = @$polaczenie->query("SELECT lists.title_lists, lists.link_lists, lists.category, lists.id FROM lists WHERE lists.category='$category';"))
                        {
                          //sprawdzamy ile jest wierszy w bazie pod daną kategorią
                          $ile_elementow = $rezultat->num_rows;
                          //Pętla się wykonuje tyle razy ile jest wierszy 
                          //W pojedyńczej iteracji dodaje element listy
                          //Tytuł listy oraz link do zdjęcia jest wyciągany z bazy danych
                          for($i=0;$i<$ile_elementow;$i++)
                          {
                            $wiersz = $rezultat->fetch_assoc();
                            echo '<li class="item-thumbs span3 design" data-id="'.$wiersz["id"].'" data-type="icon">
                                   <a href="list.php?title_list='.$wiersz["title_lists"].'"><img src="img/works/thumbs/image-02.jpg" class="thumbs-opacity" alt=""></a>
                                   <div class="thumbs-title">'.$wiersz["title_lists"].'</div></li>';

                          }

(Tak wiem, że obrazek będzie taki sam. Podepnę grafikę, jak tylko ją przygotuje)

Dzięki pętli powyżej, wyświetla mi się na stronie lista. Działa to bez zarzutu.

Na stronie list.php mam wyciąganie elementów listy z bazy. To także działa, ale chcę aby były to elementy dla wybranej wcześniej listy, problem jaki muszę rozwiązać to:

W jaki sposób dostać się do konkretnego elementu <li> wyświetlanej listy w categories.php?

W kodzie html mamy coś takiego jak data-id data-type służy to do sortowania na stronie. Umieściłem w data-id ID listy z bazy danych. Kiedy podejrzę kod strony widzę listę elementów <li> i każdy ma unikatowe ID w polu data-id, ale jak się do tego dostać nie wiem :) 

Ktoś zna rozwiązanie zagadki? :)

2 odpowiedzi

0 głosów
odpowiedź 11 lipca 2019 przez wiktoz Mądrala (7,040 p.)

Ja bym użył tutaj ajaxu. Czyli:

  1. Wybierasz coś z listy w categories.php
  2. Po naciśnięciu przycisku np. zatwierdź pod tą listą wysyłasz w zmiennej sesyjnej lub przy pomocy get to co wybrałeś i przenosisz usera na stronę list.php
  3. Na list.php odczytujesz zmienną i wyświetlasz odpowiednie dane.

 

komentarz 11 lipca 2019 przez mateusz.zajac Obywatel (1,460 p.)
Udało mi się to osiągnąć przy pomocy php. Do linku dodaję tytuł listy i pobieram później za pomocą GET.

Czy dzięki użyciu ajax będę mógł przesłać tą informację inaczej niż _GET?  Wolałbym mieć ładny link w przeglądarce :)  Jeszcze nie korzystałem z ajax. Zmienna sesyjna odpada u mnie, ponieważ gdy pętla wykonuje iterację to nadpisuje wartość zmiennej sesyjnej i zawsze dostaję ostatnią wartość z bazy
komentarz 11 lipca 2019 przez wiktoz Mądrala (7,040 p.)

Tak. Dzięki ajaxowi będziesz miał "ładne linki".

$( "#id_przycisku" ).on( "click", function() {
   var listName = $( "#id_selecta" ).attr( "data-id" )

    $.ajax({
      method: "POST",
      url: "przyklad.php",
      data: { name: listName }
    });
}

Tutaj dałem Ci taki przykładowy kodzik z ajaxem. Musisz podpiąć do niego bibliotekę jQuery. W pliku przyklad.php tworzysz kod php, który ma się wykonać. Numer atrybutu pobierasz wcześniej do zmiennej listName i wysyłasz do przyklad.php jako $_POST['name']. Musisz pamiętać tylko, że ajax po wykonaniu kodu "wróci" do tego pliku, z którego został wywołany, więc musisz zrobić też przekierowanie. 

0 głosów
odpowiedź 11 lipca 2019 przez SmoothCrash Obywatel (1,520 p.)
No to wstaw do tego <li> link z ID np

<li><a href="list.php?id=2">link do id = 3</a></li>

i juz po kliknieciu masz przeslane metoda get link do strony z parametrem ID

tam odbierzesz i pobierzez z bazy dana gdzie id = (int)$_GET['id']

Podobne pytania

0 głosów
2 odpowiedzi 210 wizyt
0 głosów
2 odpowiedzi 274 wizyt
pytanie zadane 17 lutego 2019 w PHP przez zerakot Obywatel (1,870 p.)
0 głosów
2 odpowiedzi 309 wizyt
pytanie zadane 6 czerwca 2016 w PHP przez hiper007 Stary wyjadacz (11,270 p.)

92,579 zapytań

141,432 odpowiedzi

319,663 komentarzy

61,964 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...