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

Jquery modal form i upisivanje u bazu svih redova u kreiranoj html tabeli

[es] :: Javascript i AJAX :: Jquery modal form i upisivanje u bazu svih redova u kreiranoj html tabeli

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

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

luka013
Student

Član broj: 168573
Poruke: 14
*.0.fullrate.dk.



+2 Profil

icon Jquery modal form i upisivanje u bazu svih redova u kreiranoj html tabeli14.02.2012. u 16:40 - pre 148 meseci
Ćao svima,

Imam sledeći problem, koristim jQuery modal-form za dodavanje podataka u tabelu link i na sve to sam dodao još jedno dugme, "Upiši u bazu".

Scenario je sledeći:

Upišem par korisnika u tabelu i kada kliknem na "Upiši u bazu" jQuery ih nekako pokupi iz html tabele i upiše u bazu podataka, sve odjednom.
Postoji jednostavniji način, a to je da kad god se upiše neki korisnik i doda u tabelu, tada ga upiše i u bazu, ali mi to ne odgovara, moram da ih upišem sve odjednom!

Hvala unapred...
 
Odgovor na temu

joseph.magnum
FrontEnd Dev Junior
Novi Sad

Član broj: 281318
Poruke: 7
*.adsl-a-1.sezampro.rs.



+2 Profil

icon Re: Jquery modal form i upisivanje u bazu svih redova u kreiranoj html tabeli14.02.2012. u 17:46 - pre 148 meseci
Stavljaj podatke u neki niz visedimenzionalni/asocijativni pa klikom na dugme "Upiši u bazu" snimi informacije iz niza u database?
 
Odgovor na temu

luka013
Student

Član broj: 168573
Poruke: 14
*.0.fullrate.dk.



+2 Profil

icon Re: Jquery modal form i upisivanje u bazu svih redova u kreiranoj html tabeli14.02.2012. u 18:34 - pre 148 meseci
To pokušavam da uradim ali ne znam kako, pretumbao sam net da pronadjem odgovor ali ne ide...

Trebam da uradim sledeće, kada dodam neki red kroz jQuery modal formu, trebam sve iz forme da smestim u niz tipa:

Code:
var data = {
     rows:[{id:"1", username:"korisnicko ime"}]
};


Kada dodam jos jednu stavku niz treba da izgleda:

Code:
var data = {
    rows:[{id:"1", username:"korisnicko ime"},{id:"2", username:"korisnicko ime 2"}]
};


onda sve to posaljem na stranicu koja obradjuje niz

Code:
$("#add_to_db").click(function(){
    var dataString = data;
    
    $.ajax ({
        type: "POST",
        url: "insert_in_db.php",
        data: dataString,
        cache: false,
        success: function(html){
            $("#poruka").html("Svi korisnici su upisani u bazu!");
        } 
    });
});


Ovako se dodaje u niz:

Code:
data.rows.push(
    {{id:"3", username:"korisnicko ime 3"}}
);


ovako briše prvu stavku u nizu

Code:
data.rows.splice(0, 1);


Moj problem je sto ne znam kako da napravim taj niz i kako da dodajem i brišem stavke iz njega, kako posle sa php-om da prihvatim sve iz niza i upisem u bazu...

Ako je neko radio nešto slično i hoće da pomogne, hvala u napred!
 
Odgovor na temu

Milos911
Serbia

Član broj: 219127
Poruke: 1230
77.243.22.*



+303 Profil

icon Re: Jquery modal form i upisivanje u bazu svih redova u kreiranoj html tabeli14.02.2012. u 21:59 - pre 148 meseci
Prvo pitanje: zasto koristis modal form ako ne moze da uradi to sto ti hoces (bar ja nisam uspeo da nadjem kako)? Ako je zbog izgleda, lako ces i normalni form nabudziti, a i vise ce ti se isplatiti nego da budzis nesto tako komplikovano(bar mislim)...

Drugo, zasto moras da registrujes sve odjednom, jesi li siguran da ne postoji drugo resenje?

"Moj problem je sto ne znam kako da napravim taj niz i kako da dodajem i brišem stavke iz njega, kako posle sa php-om da prihvatim sve iz niza i upisem u bazu..."
Ne znam kako da uradis u modal formu, ali znam kako moze "peske". Mozda ce ti koristiti u svakom slucaju. Nisam nesto preterano iskusan sa js, ako negde progresim, ne zameri:

Kad se klikne na dugme add_to_db, ovo se poziva
Code:

$("#add_to_db").click(function(){
     var dataString = data;
     
     $.ajax ({
         type: "POST",
         url: "insert_in_db.php",
         data: dataString,
         cache: false,
         success: function(html){
             $("#poruka").html("Svi korisnici su upisani u bazu!");
         } 
     });
 });

i to je ok.

Ti podatke treba da dodas u varijablu dataString. To radis tako sto ces napraviti isti kod kao ovaj gore i jos jedno dugme, za dodavanje korisnika na listu. Stavis mu id add_to_list, pa onda
Code:

$("#add_to_list").click(function(){
//ovde dodajes redove u tabelu i vrednosti u array. Znaci ovde pises ono sto si dole stavio
data.rows.push(
     {{id:"3", username:"korisnicko ime 3"}}
 );
//a ovde stavis da se appenduje novi korisnik u tabelu
//ja kad radim ovako nesto, kreiram varijablu count, pa je povecavam za +1 svaki put, i onda smislim neko genericko ime, recimo user_, pa radim append <div id="user_count">blablabla</div>, pa posle na osnovu broja div-a brisem potrebne vrednosti

 });


Za brisanje mozes da dodas dugme sa id="remove_from_list" pa onda pises ono
Code:

data.rows.splice(0, 1);

Mozes da dodas da ti se automatski upisuje ono sto treba da se obrise, znaci ako stavis dugme za remove from list (pored svakog unosa), dok ga dodajes upises u njega onclick="remove_from_list('0','1',user_1)". Napises funkciju, prve dve vrednosti su ti za izbacivanje iz array, a treca je za uklanjanje div-a.

I konacno na kraju, vracamo se na prvi code tag koji sam stavio, on ce ti poslati taj array koji si napravio stranici "insert_in_db.php". Nisam siguran da li ce biti tamo u $_POST ili $_REQUEST, tako da proveris obe sa print_r. Enivej, tamo ces dobijenu vrednost da provuces kroz json_decode(), i dobices php array. Dalje znas sam.

Eto tako, malo sam zamrsio, pitaj sta ti nije jasno :)
 
Odgovor na temu

luka013
Student

Član broj: 168573
Poruke: 14
*.0.fullrate.dk.



+2 Profil

icon Re: Jquery modal form i upisivanje u bazu svih redova u kreiranoj html tabeli14.02.2012. u 23:01 - pre 148 meseci
Kao prvo Miloše hvala na odgovoru...

Citat:
zasto koristis modal form ako ne moze da uradi to sto ti hoces (bar ja nisam uspeo da nadjem kako)?
- Samo zato što mi se svidja kako izgleda i mogu jednostavno da menjam teme... Nije obavezno...

Citat:
Drugo, zasto moras da registrujes sve odjednom, jesi li siguran da ne postoji drugo resenje?
- Moram tako, nisu u pitanju korisnici nego porudžbina... Nisam hteo mnogo da komlikujem sa postavljanjem pitanja pa nisam objasnio detalje, scenario je sledeći:

Treba da napravim aplikaciju za slanje porudzbina, svaka porudzbina moze da ima proizvoljan broj stavki u sebi, a svaka stavka se unosi kroz formu i nije predefinisana u bazi podataka. Imam 4 tabele u bazi, za porudzbinu (order_id, order_status, order_message, user_id), za stavke u porudzbini (product_id, model_id, type_id, serial_number, product_malfunction, delivery_type), tabelu sa modelima koji se automatski generišu u padajućoj listi (model_id, model_name) i tabelu tip proizvoda (type_id, type_name).

Sve se zakomlikovalo pošto ne smem da unosim nista u tabelu porudzbina i tabelu stavke_u_porudzbini dok god korisnici ne unesu sve stavke i ne pritisnu dugme Poruči. Tek onda mogu da unesem order_id u tabelu porudžbine i tek onda mogu da unesem sve stavke u tabelu stavke_u_porudžbini jer ako bi stavke unosio pre toga u bazu, a korisnici ne zavrse pritiskom na dugme Poruči ili Otkaži porudžbinu nego zatvore browser sve stavke će ostati u bazi bez potrebe. Isto tako ako prvo unesem order_id u tabelu porudzbine... Mislim da postoji neko "jednostavno" rešenje ali nikada nisam radio tako nešto...
 
Odgovor na temu

Milos911
Serbia

Član broj: 219127
Poruke: 1230
77.243.22.*



+303 Profil

icon Re: Jquery modal form i upisivanje u bazu svih redova u kreiranoj html tabeli14.02.2012. u 23:33 - pre 148 meseci
Auu pa ti onda imas mali milion razlicitih resenja.
Mozes recimo da cuvas sve podatke u sesiji. Znaci saljes svaki put zahtev serveru(kao sto modal form radi by default), i na njemu sve dodajes u sesiju. Posle napravis dugme koje ce poslati zahtev za cuvanje svega u bazu, i to ti je to...

Ili, po meni bolji pristup, upisujes sve u tabele, a na odgovarajuca mesta dodas x_confirmed kolonu, u koju upises '1' kad korisnik potvrdi porudzbinu... Ja bih uradio tako, i dodao jednu kontrolnu tabelu u koju bih upisivao kad je koja poruzbina/whatever startovana, tako da mozes (bez bojazni da ces nekoga zeznuti) da uradis DELETE FROM porudzbine WHERE porudzbina_confirmed='0'...

Ako koristis sesiju, ne moras da dodajes confirmed kolonu, ali iskreno meni se drugo resenje vise svidja. Od viska glava ne boli, pa podatke od kojih su korisnici odustali mozes da iskoristis za neku statistiku, ili nesto slicno....
 
Odgovor na temu

luka013
Student

Član broj: 168573
Poruke: 14
*.0.fullrate.dk.



+2 Profil

icon Re: Jquery modal form i upisivanje u bazu svih redova u kreiranoj html tabeli15.02.2012. u 00:01 - pre 148 meseci
Citat:
Mozes recimo da cuvas sve podatke u sesiji. Znaci saljes svaki put zahtev serveru(kao sto modal form radi by default), i na njemu sve dodajes u sesiju. Posle napravis dugme koje ce poslati zahtev za cuvanje svega u bazu, i to ti je to...


Ovo mi je bilo prvo resenje, ali sam se zapetljao sa SESSION nizovima i batalio...

Citat:
Ili, po meni bolji pristup, upisujes sve u tabele, a na odgovarajuca mesta dodas x_confirmed kolonu, u koju upises '1' kad korisnik potvrdi porudzbinu... Ja bih uradio tako, i dodao jednu kontrolnu tabelu u koju bih upisivao kad je koja poruzbina/whatever startovana, tako da mozes (bez bojazni da ces nekoga zeznuti) da uradis DELETE FROM porudzbine WHERE porudzbina_confirmed='0'...


Ovo mi je takodje palo na pamet, ali mislim da je nekako "neuredno", nemoj pogresno da me shvatis, mozda cu i da izaberem ovaj nacin, pa da stavim u tabelu stavki datum i onda sa kronom da pokrecem skriptu svaki dan i proveravam koje stavke su u bazi duze od, recimo, dva dana a da nisu potvrdjene pa njih da brišem ili tako nesto...

Mislim da je to to, hvala Miloše na odgovorima, javiću kako sam na kraju rešio sve...

Pozdrav svima!
 
Odgovor na temu

[es] :: Javascript i AJAX :: Jquery modal form i upisivanje u bazu svih redova u kreiranoj html tabeli

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

Postavi temu Odgovori

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