|
19. 09. 2013. | #1 |
profesionalac
Professional
Datum učlanjenja: 29.08.2010
Poruke: 201
Hvala: 10
640 "Hvala" u 14 poruka
|
slozena forma i check box polja
Pozdrav, treba mi jedna mala pomoc. Necu da duzim evo odmah problema. Imam jednu tabelu u kojoj izlistavam naslove nekih vijesti i njihov status (objavljeno/neobjavljeno). Pored naslova vijesti i njihovog statusa stampam po jedan checkbox. Treba mi ideja kako da mijenjam status ovih vijesti u slucaju da sam checkirao vise njih. Npr cekiram 5 vijesti i hocu da na klik promijenim njihov status sa neobjavljeno na objavljeno. Evo postavicu html kod pa ce biti jasnije:
PHP kôd:
Ako u toj tabeli imam izlistano 10 vesti, kada cekiram svih 10 i dole na dnu gde mi je select lista prebacim na Objavi da se u bazi promeni status. Dakle ne treba mi SQL skript nego samo ideja kako da, na klik dugmeta, pokupim ove $row('ID') svih cekiranih boxova. Ne znam kako da pridjem tim poljima u formi i da ih smestam u neki niz. |
19. 09. 2013. | #2 |
emperor Selassie
Grand Master
|
HTML:
Kôd:
<input type="checkbox" name="checkbox" value="<?php echo $row['ID'];?>" name="ids[]" /> PHP kôd:
|
19. 09. 2013. | #3 |
profesionalac
Professional
Datum učlanjenja: 29.08.2010
Poruke: 201
Hvala: 10
640 "Hvala" u 14 poruka
|
Hvala Nemanja na trudu ali meni treba nesto ovako:
PHP kôd:
PHP kôd:
|
19. 09. 2013. | #4 |
Ivan Dilber
Sir Write-a-Lot
|
Pa rekao ti je Nemanja, stavis formu oko cele tabele i kad je submit-ujes posalju se izabrani checkboxovi (samo u njegovom primeru ima jedan name="checkbox" viska).
Znaci, kad imas checkboxes i das im name="nesto[]" onda ce posle submita PHP da dobije niz $_POST['nesto'] (ili $_GET['nesto'] ako je method="get" u formi) koji sadrzi values iz selektovanih chekboxova. Ako hoces da radis preko ajaxa, reci (to je jednako prosto, nego da te ne zbunjujem sad sa gomilom informacija)
__________________
Leadership is the art of getting people to want to do what you know must be done. |
19. 09. 2013. | #5 |
profesionalac
Professional
Datum učlanjenja: 29.08.2010
Poruke: 201
Hvala: 10
640 "Hvala" u 14 poruka
|
Hvala vam na odgovorima. Pokusacu da ovo uradim pa cu da javim ako uspijem.
Ajax bi mozda bilo najbolje resenje. Ako te ne mrzi i predpostavljam da imas primera nekih takvih skriptica u kompu mozes da podelis ovde. Predpostavljam da ovi chek box,u slucaju ajax-a, ne bi uopste trebali. |
19. 09. 2013. | #6 |
emperor Selassie
Grand Master
|
Uuups... ne videh name="checkbox", odnosno pomešao sam ga sa type="checkbox" :S
|
20. 09. 2013. | #7 |
Ivan Dilber
Sir Write-a-Lot
|
jedina razlika kod ajaxa je da se forma ne submituje, nego se podaci posalju jeli ajaxom... checkboxovi ti i dalje trebaju kao jednostavan nacin da user selektuje redove
uz pomoc jQuerija uradis nesto kao u primeru ispod, a na serveru korsitis isti php kao i ranije: Kôd:
jQuery( function ($) { var ajaxUrl = 'http://some.com/ajax.php'; //url do tvoje php skripte // handle onSubmit $('#myForm').on('submit', function (e) { e.preventDefault(); // zaustavi submit ajax_submit_selected( $(this) ); // posalji podatke ajaxom, $(this) je isto sto i $('#myForm') }); function ajax_submit_selected( $form ) { var form_data = $form.serialize(); // pokupi podatke iz forme $.post(ajaxUrl, form_data, function (response) { // postuj preko ajaxa console.log(response); // uradi nesto sa responsom koji salje PHP }); } });
__________________
Leadership is the art of getting people to want to do what you know must be done. Poslednja izmena od ivanhoe : 20. 09. 2013. u 01:40. |
25. 09. 2013. | #8 |
profesionalac
Professional
Datum učlanjenja: 29.08.2010
Poruke: 201
Hvala: 10
640 "Hvala" u 14 poruka
|
Ja sam nesto malo drugacije zamislio da odradim ovaj posao, a to je tako sto cu da imam jednu malu select listu koja ce mi citati ova polja "status" pa tako ce mi prva opcija u listi biti trenutna vrijednost polja status u "bazi" (a postojace samo dvije vrijednosti ""DA" i "NE") pa tako ako je prva opcija "NE" druga ce biti ""DA" i obratno. Da ne bih davio kroz skript ce sve da se vidi:
PHP kôd:
Kôd:
<script> function editOption(str) { if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { var str=(document.form.status.value); var idvesti= (document.form.idvesti.value); } } xmlhttp.open("GET","editoption.php?q="+str+"&p="+idvesti,true); xmlhttp.send(); } </script> Ovaj fajl editoption.php je klasika pod uslovom da sam ovo gore dobro formirao: PHP kôd:
|
|
|