Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [AJAX]Skrypt wyświetlający wyniki z bazy danych
David_Rook
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 14.08.2012

Ostrzeżenie: (0%)
-----


Witam Panowie,

Jako, że jestem laikiem jeśli chodzi o technologię AJAX-a chciałbym Was prosić o pomoc w zakresie stworzenia pewnego skryptu akcji.

Mam tak wyglądający formularz:
(IMG:http://i.imgur.com/iM8wR.png)

Jako, że jestem łasuch na wszelkiego rodzaju świecidełka na stronach www, chciałbym dodać następującą funkcjonalność.
Po kliknięciu przycisku SZUKAJ, chciałbym, aby na środku div'a z formularzem pokazała się standardowa ikona podczas korzystania z AJAX'a, a wyniki zostały zwrócone nie na nowej stronie www, a w tym div'ie w którym znajdował się formularz.

Czy trudno jest coś takiego zrobić? Kompletnie nie mam pojęcia jak do tego się zabrać, a tutoriale, które widziałem w sieci odnoszą się do wyszukiwarek z jednym polem input.

Za wszelkie sugestie, podpowiedzi i pomoc będę bardzo zobowiązany.

Poza tym chciałbym Was, drodzy koledzy prosić o pomoc związaną z wyborem technologii/frameworka do zarządzania pewną stroną, ale o tym w osobnym wątku.

Pozdrawiam

Ten post edytował David_Rook 3.11.2012, 11:39:43
Go to the top of the page
+Quote Post
jaslanin
post
Post #2





Grupa: Zarejestrowani
Postów: 511
Pomógł: 143
Dołączył: 13.03.2010
Skąd: Jasło

Ostrzeżenie: (0%)
-----


http://net.tutsplus.com/tutorials/javascri...h-using-jquery/

po prostu na callback'u funkcji ajax robisz podmianę diva.

jeden czy wiele inputów to nie problem, bo dokładasz po prostu nowe pola POST lub GET
Go to the top of the page
+Quote Post
David_Rook
post
Post #3





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 14.08.2012

Ostrzeżenie: (0%)
-----


Mógłbyś podać mi do siebie jakieś namiary, bo mam kilka pytań....
Go to the top of the page
+Quote Post
David_Rook
post
Post #4





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 14.08.2012

Ostrzeżenie: (0%)
-----


Głównie chodzi mi o to, czy muszę coś dać w sekcji ajax-succes
  1. $.ajax({
  2. type: "POST",
  3. url: "search_hipoteczny",
  4. data: dataString,
  5. success: function() {
  6. $('#contact_form').html("<div id='message'></div>");
  7. $('#message').html("<h2>Contact Form Submitted!</h2>")
  8. .append("<p>We will be in touch soon.</p>")
  9. .hide()
  10. .fadeIn(1500, function() {
  11. $('#message').append("<img id='checkmark' src='images/check.png' />");
  12. });


Bo skrypt search_hipoteczny zwraca mi tabele wyszukanych kredytów...
Go to the top of the page
+Quote Post
tab
post
Post #5





Grupa: Zarejestrowani
Postów: 75
Pomógł: 20
Dołączył: 8.10.2012

Ostrzeżenie: (0%)
-----


hm ciezko mi cos mowiac nie znajac w ogole podstaw dzialania Twojego skryptu, ale jak jzu wyslesz to zapytanie do ajaxa, to w skrypcie php, jak juz sobie obrobisz te dane to nalepiej uzyc json'a. np:

  1. $kredyt = $_POST['kredyt'];
  2. // tutaj jakies zapytania do bazy z kredytem
  3. // $stmt czyli resource
  4. $kredyty = array();
  5. foreach ($stmt as $row)
  6. {
  7. $kredyty[] = $row['kredyt']; // dodanie kazdego kredytu do tablicy kredyty
  8. }
  9.  
  10. echo json_encode($kredyty);


i dzieki temu mozesz sie z poziomy juery wygodnie odwolywac do tego co Ci zwroci baza danych

success(json)
{
$('#kredyty').val(json['kredyty']);
}

nie wiem czy o to Ci chodzilo.. (IMG:style_emoticons/default/tongue.gif)

Ten post edytował tab 4.11.2012, 21:58:12
Go to the top of the page
+Quote Post
David_Rook
post
Post #6





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 14.08.2012

Ostrzeżenie: (0%)
-----


Zaraz Ci wytlumacze o co mi chodzi...

Mam taki kod formularza:
Formularz

Pod to jest podpięty następujący skrypt search_hipoteczny.php:
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  4. <title>Wyniki wyszukiwania</title>
  5. <link type="text/css" rel="stylesheet" href="/css/wyniki_wyszukiwan.css" media="screen" />
  6. <script type="text/javascript" src="/js/tablecloth.js"></script>
  7. </head>
  8. <body>
  9. <?php
  10. include ("config.php");
  11.  
  12. //ustawiam zmienna, ktora przekazuje wklad
  13. $cel_kredytu=($_POST['cel_kredytu']);
  14. $rynek=($_POST['rynek']);
  15. $rynek2=($_POST['rynek2']);
  16. $przedmiot=($_POST['przedmiot']);
  17. $przedmiot2=($_POST['przedmiot2']);
  18. $przedmiot3=($_POST['przedmiot3']);
  19. $zabezpieczenie=($_POST['zabezpieczenie']);
  20. $suma_konsumpcyjnych=($_POST['suma_konsumpcyjnych']);
  21. $wartosc=($_POST['wartosc']);
  22. $kredyt=($_POST['kredyt']);
  23. $waluta=($_POST['waluta']);
  24. $raty=($_POST['raty']);
  25. $okres=($_POST['okres']);
  26. $wiek=($_POST['wiek']);
  27.  
  28.  
  29. if ($cel_kredytu == 'Zakup')
  30. {
  31.  
  32. //zapytanie
  33. $wyszukaj="SELECT bank, nazwa_kredytu, oprocentowanie, prowizja, rata
  34. FROM K_Hipoteczny_Zakup
  35. WHERE rynek = '$rynek'
  36. AND przedmiot = '$przedmiot'
  37. AND w_nieruchomosci_min < $wartosc
  38. AND w_nieruchomosci_max >= $wartosc
  39. AND w_kredytu_min < $kredyt
  40. AND w_kredytu_max >= $kredyt
  41. AND waluta = '$waluta'
  42. AND rodzaj_rat = '$raty'
  43. AND okres_kr_min < $okres
  44. AND okres_kr_max >= $okres
  45. AND wiek_najst_kredytobiorcy >= $wiek
  46. GROUP BY oprocentowanie";
  47. }
  48.  
  49. if ($cel_kredytu == 'BudowaDomu')
  50. {
  51. $wyszukaj="SELECT bank, nazwa_kredytu, oprocentowanie, prowizja, rata
  52. FROM K_Hipoteczny_Budowa
  53. WHERE w_nieruchomosci_min < $wartosc
  54. AND w_nieruchomosci_max >= $wartosc
  55. AND w_kredytu_min < $kredyt
  56. AND w_kredytu_max >= $kredyt
  57. AND waluta = '$waluta'
  58. AND rodzaj_rat = '$raty'
  59. AND okres_kr_min < $okres
  60. AND okres_kr_max >= $okres
  61. AND wiek_najst_kredytobiorcy >= $wiek
  62. GROUP BY oprocentowanie";
  63. }
  64.  
  65. if ($cel_kredytu == 'Refinansowanie')
  66. {
  67. $wyszukaj="SELECT bank, nazwa_kredytu, oprocentowanie, prowizja, rata
  68. FROM K_Hipoteczny_Refin
  69. WHERE przedmiot = '$przedmiot2'
  70. AND w_nieruchomosci_min < $wartosc
  71. AND w_nieruchomosci_max >= $wartosc
  72. AND w_kredytu_min < $kredyt
  73. AND w_kredytu_max >= $kredyt
  74. AND waluta = '$waluta'
  75. AND rodzaj_rat = '$raty'
  76. AND okres_kr_min < $okres
  77. AND okres_kr_max >= $okres
  78. AND wiek_najst_kredytobiorcy >= $wiek
  79. GROUP BY oprocentowanie";
  80. }
  81.  
  82. if ($cel_kredytu == 'Konsolidacja')
  83. {
  84. $wyszukaj="SELECT bank, nazwa_kredytu, oprocentowanie, prowizja, rata
  85. FROM K_Hipoteczny_Konsol
  86. WHERE rynek = '$rynek2'
  87. AND przedmiot = '$przedmiot3'
  88. AND suma_kred_konsum >= '$suma_konsumpcyjnych'
  89. AND w_nieruchomosci_min < $wartosc
  90. AND w_nieruchomosci_max >= $wartosc
  91. AND w_kredytu_min < $kredyt
  92. AND w_kredytu_max >= $kredyt
  93. AND waluta = '$waluta'
  94. AND rodzaj_rat = '$raty'
  95. AND okres_min < $okres
  96. AND okres_max >= $okres
  97. AND wiek_najst_kredytobiorcy >= $wiek
  98. GROUP BY oprocentowanie";
  99. }
  100.  
  101. if ($cel_kredytu == 'Pozyczka')
  102. {
  103. //zapytanie
  104. $wyszukaj="SELECT bank, nazwa_kredytu, oprocentowanie, prowizja, rata
  105. FROM K_Hipoteczny_Pozycz
  106. WHERE zabezpieczenie = '$zabezpieczenie'
  107. AND w_nieruchomosci_min < $wartosc
  108. AND w_nieruchomosci_max >= $wartosc
  109. AND w_kredytu_min < $kredyt
  110. AND w_kredytu_max >= $kredyt
  111. AND waluta = '$waluta'
  112. AND rodzaj_rat = '$raty'
  113. AND okres_min < $okres
  114. AND okres_max >= $okres
  115. AND wiek_najst_kredytobiorcy >= $wiek
  116. GROUP BY oprocentowanie";
  117. }
  118.  
  119. $results=mysql_query($wyszukaj) or die (mysql_error());
  120. $procent='%';
  121.  
  122. if(mysql_num_rows($results) > 0)
  123. {
  124. echo "<center><h2>Wyniki wyszukiwania:</h2></center>";
  125. echo "<table align=center>";
  126. echo "<tr>";
  127. echo "<th><b>Bank</b></th>";
  128. echo "<th><b>Nazwa Kredytu</b></th>";
  129. echo "<th><b>Oprocentowanie</b></th>";
  130. echo "<th><b>Prowizja</b></th>";
  131. echo "<th><b>Rata</b></th>";
  132. echo "</tr>";
  133.  
  134. while($row = mysql_fetch_object($results))
  135. {
  136. echo "<tr>";
  137. echo "<td>".$row->bank."</td>";
  138. echo "<td>".$row->nazwa_kredytu."</td>";
  139. echo "<td>".$row->oprocentowanie."$procent</td>";
  140. echo "<td>".$row->prowizja."$procent</td>";
  141. echo "<td>".$row->rata." $waluta</td>";
  142. echo "</tr>";
  143. }
  144. echo "</table>";
  145. }
  146. else
  147. {
  148. echo "<h2><center>Brak wyników dla podanych parametrów!</center></h2>";
  149. }
  150. ?>
  151. </body>
  152. </html>


I chciałbym, żeby po kliknięciu Szukaj (na tym obrazku wyżej) przeładować tego Div-a i wyświetlić efekt działania skryptu search_hipoteczny.php

Próbowałem na podstawie tego tutorialu co podesłał kolega Jasianin, ale właśnie tej kwestii nie rozumiem, czy mam dodać jaki atrybut w sekcji success, czy też nie..
Json'a w ogóle nie znam i nie mam pojęcia jak tego użyc...

Dobra, znalazłem jakaś podpowiedź -> http://www.jotorres.com/2011/11/display-da...jquery-and-php/

Spróbuję z tym (IMG:style_emoticons/default/smile.gif)

Ten post edytował David_Rook 4.11.2012, 22:08:47
Go to the top of the page
+Quote Post
tab
post
Post #7





Grupa: Zarejestrowani
Postów: 75
Pomógł: 20
Dołączył: 8.10.2012

Ostrzeżenie: (0%)
-----


tak w success musisz dac argument, np
success(msg)
po to zeby moc sie jakos odwołac do odpowiedzi serwiera
czyli np msg.responseText (dla xmla) albo msg['zmienna'] (w przypadku jsona)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.09.2025 - 02:01