Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX][MySQL][PHP]Nietypowa filtracja php bez przeładowania
Forum PHP.pl > Forum > Przedszkole
artkow00
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! smile.gif
nospor
No to zamiast:
onchange="this.form.submit()"
zrob:
onchange="wyslijAjaxa();"
artkow00
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>


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...
nospor
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/
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.