Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ AJAX _ Pobranie danych z bazy danych

Napisany przez: lukasheek88 24.02.2017, 21:21:31

Witajcie,

potrzebuję pobrać dane z bazy danych. Wiem że należy wykorzystać do tego np:

  1. $.post(
  2. "saveToDatabase.php",
  3. {
  4. name: "Johny",
  5. surname: "Bravo"
  6. },
  7. function(data){
  8. alert("Dane otrzymane: " + data);
  9. }
  10. );


chciałbym przypisać pobrane dane do zmiennej np var $item i móc wykorzystać tą zmienną w innej funkcji js.

Nie działa:
  1. $.post(
  2. "saveToDatabase.php",
  3. {
  4. name: "Johny",
  5. surname: "Bravo"
  6. },
  7. function(data){
  8. var $item = data;
  9. return $item;
  10. }
  11. );


Ktoś podpowie ?

Napisany przez: Star 25.02.2017, 12:48:40

Twój kod tworzy połączenie AJAXowe z wykorzystaniem biblioteki jquery i przesyła do pliku saveToDatabase.php parametry name oraz surname.
Jeśli chcesz pobrać dane z bazy to musisz napisać kod, który połączy się z DB, wyciągnie to co chcesz i zwróci np w formacie json, co Ty potem odbierzesz przez JavaScript.

Nie ma też możliwości abyś te dane przypisal sobie do zmiennej od tak, tzn jest taka opcja, ale to jest niezalecane.

Napisany przez: lukasheek88 25.02.2017, 21:44:00

Może opiszę dokładnie co chcę zrobić.

Korzystam z isotope: http://isotope.metafizzy.co/v1/demos/adding-items.html

Chcę dołączyć nowe elementy z bazy danych. Na chwilę obecną mam coś takiego:

  1. var $grid = $('.portfolioContainer').isotope({
  2. itemSelector: '.port'
  3.  
  4. });
  5.  
  6. $('.append-button').on( 'click', function() {
  7.  
  8. var $items = getItemElement().add( getItemElement() ).add( getItemElement() );
  9.  
  10. $grid.append( $items )
  11. // add and lay out newly appended elements
  12. .isotope( 'appended', $items );
  13. });
  14.  
  15.  
  16. function getItemElement() {
  17. var $item = $('<http://december.com/html/4/element/div.html class="id_3 id_1 port"><http://december.com/html/4/element/a.html href="#" data-toggle="modal" data-target=".projekt_2" ><http://december.com/html/4/element/img.html src="img/portfolio/1487435081/0.17665000_6.jpg" alt="image"></http://december.com/html/4/element/a.html><http://december.com/html/4/element/p.html>Firma 1</http://december.com/html/4/element/p.html><http://december.com/html/4/element/div.html class="portfolioFilter hash"><http://december.com/html/4/element/a.html href=".id_3" data-filter=".id_3">#Loga PSD</http://december.com/html/4/element/a.html><http://december.com/html/4/element/a.html href=".id_1" data-filter=".id_1">#Strony WWW</http://december.com/html/4/element/a.html></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="id_2 port"><http://december.com/html/4/element/a.html href="#" data-toggle="modal" data-target=".projekt_3" ><http://december.com/html/4/element/img.html src="img/portfolio/1487435111/0.75740000_1.jpg" alt="image"></http://december.com/html/4/element/a.html><http://december.com/html/4/element/p.html>Firma 2</http://december.com/html/4/element/p.html><http://december.com/html/4/element/div.html class="portfolioFilter hash"><http://december.com/html/4/element/a.html href=".id_2" data-filter=".id_2">#Orazki</http://december.com/html/4/element/a.html></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html><http://december.com/html/4/element/div.html class="id_3 id_5 port"><http://december.com/html/4/element/a.html href="#" data-toggle="modal" data-target=".projekt_4" ><http://december.com/html/4/element/img.html src="img/portfolio/1487701899/0.98490500_10.jpg" alt="image"></http://december.com/html/4/element/a.html><http://december.com/html/4/element/p.html>Firma 3</http://december.com/html/4/element/p.html><http://december.com/html/4/element/div.html class="portfolioFilter hash"><http://december.com/html/4/element/a.html href=".id_3" data-filter=".id_3">#Loga PSD</http://december.com/html/4/element/a.html><http://december.com/html/4/element/a.html href=".id_5" data-filter=".id_5">#Logo JPG</http://december.com/html/4/element/a.html></http://december.com/html/4/element/div.html></http://december.com/html/4/element/div.html>');
  18. return $item;
  19. }
  20.  
  21.  


i to działa. Z tym że do zmiennej $item dodałem 'z palca' dane które chcę uzyskać z zapytania z bazy danych. Chciałbym to powyższe połączyć z poniższym, tak by dane 'data' były podpięte jakoś pod zmienną $item.
  1. $.post( 'fetch_pages.php',
  2. {'page': track_page},
  3. function(data){
  4. }
  5. );





Poradziłem sobie:

  1. var $grid = $('.portfolioContainer').isotope({
  2. itemSelector: '.port'
  3.  
  4. });
  5.  
  6. var track_page = 1;
  7.  
  8. $('.append-button').on( 'click', function() {
  9.  
  10. $.post( 'fetch_pages.php', {'page': track_page}, function(data){
  11.  
  12. var $items = $(data);
  13. $grid.append( $items )
  14.  
  15. .isotope( 'appended', $items );
  16. });
  17. });

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)