Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [AJAX][MySQL][PHP]Nietypowa filtracja php bez przeładowania
artkow00
post
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 5.11.2013

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


Witam serdecznie.

Moim problemem jest nie do końca typowa filtracja wyników. U mnie działa to obecnie na zasadzie:

Checkbox:

  1. <input onchange="this.form.submit()" type="checkbox" value="a" name="a" id="a"
  2. <?php if (!empty($_GET['a'])) { echo 'checked="checked"'; } ?> />
  3. <label class="szary" for="a"><?php echo 'A'; ?></label><br />


następnie array:

  1. if (!empty($_GET['a'])) {
  2. $a[] = "dane = "."'".$_GET['a']."'";
  3. }


A następnie:

  1. if (empty($a)) {
  2. $b = mysql_query("SELECT * FROM user");
  3. }
  4. else {
  5. $b = mysql_query("SELECT * FROM user WHERE ".$a."");
  6. }


Checkboxów jest dużo dlatego robię z nich array. Przy większej ilości jest tam jeszcze dodane implode OR'em, ale dla przedstawienia idei wystarczy ten jeden.

Po zaznaczeniu z automatu mi filtruje i robi to poprawnie, ale chciałbym, żeby działo się to bez przeładowania. Ajax rozwiązywałby problem, ale nie wiem jak to połączyć z ajaxem, bo przecież nie mam submita, ani buttona ani nic - submit jest onChange... Dodatkowo nie wszystkie pola filtracji są checkboxami, mam też 4 selecty, które też są submit onChange.

Jakieś pomysły?
Dzięki za pomoc! (IMG:style_emoticons/default/smile.gif)

Ten post edytował artkow00 10.02.2014, 10:12:46
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No to zamiast:
onchange="this.form.submit()"
zrob:
onchange="wyslijAjaxa();"
Go to the top of the page
+Quote Post
artkow00
post
Post #3





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 5.11.2013

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


OK. a dalej w headzie:

  1. <script type="text/javascript">
  2. function wyslijAjaxa() {
  3. var tekst = $('input').val();
  4. $.ajax({
  5. url: "filtruj.php",
  6. type: "GET",
  7. data: "indeks="+tekst,
  8.  
  9. });
  10. }
  11. </script>


(IMG:style_emoticons/default/questionmark.gif) Nie jestem zbyt biegły w Ajax i jQuery co zresztą zapewne widać po powyższym przykładzie własnoręcznie wydzierganego kodu...

Ten post edytował artkow00 10.02.2014, 10:47:39
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Wyslanie ajaxa:
http://api.jquery.com/jQuery.post/

Serializacja danych forma,by przekazac dla ajax:
http://api.jquery.com/serialize/

Ogolne dane do ajaxa z jQuery:
http://api.jquery.com/category/ajax/
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: 23.08.2025 - 18:26