Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Dva ili više parametara - Ajax

[es] :: Javascript i AJAX :: Dva ili više parametara - Ajax

[ Pregleda: 2259 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Bozzzi
PG

Član broj: 41770
Poruke: 38
78.155.36.*



Profil

icon Dva ili više parametara - Ajax26.11.2008. u 13:48 - pre 187 meseci
Da li neko može da mi pomogne oko sledećeg problema?

Kako da predam odjednom više parametara (npr. 15) na osnovu kojih ce se odraditi neki upit (php fajl) i vratiti rezultate koje bih automatski ubacio u neki div?

Evo slike, da bi me bolje razumjeli:




Dakle ako se selektuju 3 checkboxa i npr godište i cijena, želim da proslijedim svih 7 parametara tako da u nekom php fajlu mogu sa GET ili POST (nebitno) da dobijem:

$checkbox1=$GET("checkbox1");
$checkbox2=$GET("checkbox2");
$checkbox3=$GET("checkbox4");
.
.
.

pa mi je

$checkbox1="";
$checkbox2=mali_auto;
$checkbox3="";
$checkbox4="";
$checkbox5="";
$checkbox6=kabriolet;
$checkbox7="";
$checkbox8="";

otprilike tako neshto

pa dalje

$cijena_od=$GET("cijena_od");
$cijena_do=$GET("cijena_do");


... i tako redom, pa na osnovu dobijenih parametara sastavim sql upit (taj dio sam vec zavrsio i radi mi na standardnom submit dugmetu), pa da mi uvijek broj redova se vraca i ipise u div-u koji bi stavio npr. sa strane.

Znaci ako neko selektuje limuzina php fajlu bi se predalo:

$checkbox1=limuzina;
a sve ostalo bi bilo "", pa po tome izvrsim upit u bazi koji vrati broj redova cija je kategorija limuzina.

Da zakljucimo postoje dva problema:

1. Kako da predam vise parametara odjednom?
2. Kako to uraditi bez pritiskanja submit dugmeta vec samo pomocu onChange ili onClick eventa? Da li je to uopše moguće? Vodeći se nekom logikom trebala bi mi pomoćna skripta koja bi mi prešla čitavu formu i "vratila" ovo je selektovano - ovo nije...

Mozda sam ga malo zakomplikovao, ali nadam se da ce me bar neko razumjeti i bilo kakvu pomoć napisati. Svaka pomoć je dobrodošla.

Hvala i pozdrav.





 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.adsl.beotel.net.



+19 Profil

icon Re: Dva ili više parametara - Ajax26.11.2008. u 16:33 - pre 187 meseci
Zavisi šta koristiš za pozivanje AJAXa, mislim neku biblioteku ili nešto tvoje.

Recimo ja sam u PrototypeJS koristio Serialize čime mi je biblioteka sama pohvatala sve vrednosti kontrola i potrpala ih u jedan objekati koji sam onda prosleđivao kao POST parametar pri pozivu AJAXa.

Da, moguće je na onclick i onchange. Kad bi moglo samo na submit onda AJAX ne bi ni postojao. Daj više podataka.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

Bozzzi
PG

Član broj: 41770
Poruke: 38
78.155.36.*



Profil

icon Re: Dva ili više parametara - Ajax28.11.2008. u 10:18 - pre 187 meseci
OK.

Evo vise podataka.


Code:
<form id="form1" name="form1" method="post" action="">
  <label>
  <input type="checkbox" name="checkbox" id="checkbox" />
  checkbox1<br />
  <input type="checkbox" name="checkbox2" id="checkbox2" />
  checkbox2<br />
  <input type="checkbox" name="checkbox3" id="checkbox3" />
  checkbox3<br />
  <input type="checkbox" name="checkbox4" id="checkbox4" />
  checkbox4<br />
  <input type="checkbox" name="checkbox5" id="checkbox5" />
  checkbox5<br />
  <input type="checkbox" name="checkbox6" id="checkbox6" />
  checkbox6<br />
  <input type="checkbox" name="checkbox7" id="checkbox7" />
  checkbox7<br />
  <br />
  lista1<br />
  <select name="lista1" id="lista1">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    </select>
  <br />
  lista2<br />
  <select name="lista2" id="lista2">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
  </select>
  <br />
  lista3<br />
  <select name="lista3" id="lista3">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
  </select>
  <br />
  <br />
  <br />
  Ovdje upisati rez:<br />
  </label>
</form>



ajde proslijedi sve sa ove forme nekom fajlu test.php (npr.) i sa njega vrati posle "Ovdje upisati rez:" sve vrijednosti koje su chekirane selektovane? Ovdje ih nema puno ali imash sliku gore na kojoj mozesh vidjeti koliko mi treba polja da bude selektovano. Dakle meni samo treba kada neko odabere npr. limuzinu i godiste od 200 do 2003 da se odradi odmah na onclick ili onchange prosledjivanje parametara fajlu showhits.php i da vrati prvo broj sevih limuzina (kad je limuzina selektovana), pa redom svih limuzina koje su mladje od 2000-tog (kad se odabere od 2000), pa broj svih limuzina koje nisu starije od 2003. To je ono sto meni treba.

I showhits.php bi trebao da vrati prvo npr "150" (sve limuzine), pa "70" (sve limuzine mladje od 2000), pa "35" (sve limuzine koje nisu starije od 2003) tako korisnik uvijek vidi koliko ima rezultata i kada se isti smanje kao sad npr. na 35, korisnik ili pritisne prikazi ili doda josh neku opciju kao el. podizaci i klima, pa se broj smanji na 10 i onda izlista samo tih 10 rezultata koji mu najvise odgovaraju tj. poklapaju se sa onim shta je trazio.

Znaci ovaj broj mi uvijek treba biti prikazan na strani.

I da pretpostavljam, ustvari sigurno mi treba neki FormWatcher koji ce nakon svake promjene proci kroz citavu formu i vidjeti sta je selektovano, a sta nije (kao sto si rekao "PrototypeJS koristio Serialize čime mi je biblioteka sama pohvatala sve vrednosti kontrola i potrpala ih u jedan objekati").

Ako mozes da mi pomognesh kako bi napisao ovaj FormWatcher i kako da potrpam seve u jedan objekat, meni bi to idealno zavrsilo posao.

Hvala na odgovoru.
Pozdrav
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.adsl.beotel.net.



+19 Profil

icon Re: Dva ili više parametara - Ajax29.11.2008. u 16:54 - pre 187 meseci
Imaš demo ovde:
http://www.prototypejs.org/api/form/serialize
Analiziraj source stranice.

Druga stvar je što trebaš način kako da ti ajax vrati više od jednog rezultata.
Predlažem da rezultat preneseš kao CSV, a na prijemnoj strani split-uješ po zarezu.
Kod komplikovanijih rezultata bolje je koristiti json.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

Bozzzi
PG

Član broj: 41770
Poruke: 38
78.155.36.*



Profil

icon Re: Dva ili više parametara - Ajax01.12.2008. u 10:53 - pre 187 meseci
Hvala. Sad cu malo da pogledam.
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Dva ili više parametara - Ajax01.12.2008. u 12:38 - pre 187 meseci
ako sam te dobro razumeo, ovo bi trebalo da ti resi problem:
Code:

<form id="forma">
   <input type="checkbox" name="option[]" value="checkbox1" />
   <input type="checkbox" name="option[]" value="checkbox2" />
   <input type="checkbox" name="option[]" value="checkbox3" />
   <input type="checkbox" name="option[]" value="checkbox4" />
</form>

ovako dobijas request string:
Code:

var request = [];
$('#forma :checkbox:checked').each(function() {
  request.push(escape($(this).attr('name')) + '=' + escape($(this).val()));
});

request = request.join('&');

kada to prosledis php-u onda ovako citas podatke:
Code:

$option = $_POST['option'];  // ili $_GET, zavisi kako saljes

for ($i = 0; $i < count($option); $i++) {
  
   echo $option[$i] . ' checked.';
}


ovaj js kod sto sam ti dao koristi jQuery biblioteku da selektuje sve cekirane checkboxove, ali moze i bez nje naravno.
 
Odgovor na temu

Bozzzi
PG

Član broj: 41770
Poruke: 38
85.94.115.*



Profil

icon Re: Dva ili više parametara - Ajax06.12.2008. u 15:51 - pre 186 meseci
Hvala puno.

Ja sam evo probao neshto, ali mi opet ne radi.

Vjerovatno sam nedje neku sitnicu zaboravio.
 
Odgovor na temu

[es] :: Javascript i AJAX :: Dva ili više parametara - Ajax

[ Pregleda: 2259 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.