Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Datatables multiselect
DNMX
post 19.12.2022, 12:42:42
Post #1





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 18.09.2021

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


Jak w datatables zrobić, żeby móc zaznaczać wierwsze i po kliknięciu w przycisck wyślij mieć ID tych wierwszy? Przeczytałem całą dokumantację ale znajduję tylko opisy jak zrobić to po stronie UI ale nic na temat, jak obsłużyć po stronie sewera. Samodzielnie skonstruowałem coś takiego:
  1. print('<form action="/?action=bulk" method="POST">');
  2. datatable();
  3. print('<input type="submit" value="Wyślij"></input></form>');

datatable(); to funkcja która wyświetla mi działającą DataTable. Jak wpisze na górze skryptu
  1. var_dump($_POST);

to mam pusto (NULL). Co zrobić, żeby to co zaznaczy u żytkownik trafiało do serwera?
Go to the top of the page
+Quote Post
nospor
post 19.12.2022, 13:26:53
Post #2





Grupa: Moderatorzy
Postów: 36 457
Pomógł: 6297
Dołączył: 27.12.2004




Cytat
ale znajduję tylko opisy jak zrobić to po stronie UI

No i raczej masz to zrobic po stronei UI.
masz zlapac zdarzenie WYSLIJ w js, wowczas pobeirasz sobie zaznaczone wiersze i te wiersze wysylasz dopiero formem, czy to ajaxem czy to normalnie przez form z polen hidden


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
DNMX
post 19.12.2022, 14:43:48
Post #3





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 18.09.2021

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


Też o tym myślałem ale nie podoba mi się to. Wyląda to jak jazda z Poznania do Wrocławia przez Szczecin. Zmodyfkowałem conieco przekład z buttonem i zainicjowałem datatables w taki spobób:
  1. <script>$(document).ready(function() {
  2. var events = $(\'#events\');
  3. var table = $(\'#contactstable\').DataTable( {
  4. "dom" : \'Bfrtip\',
  5. "order": [[ 3, "asc" ]],
  6. "scrollX" : true,
  7. "select" : { style: \'multi\' },
  8. buttons: [
  9. {
  10. text: \'Wyślij\',
  11. action: function () {
  12. var count = table.rows( { selected: true } );
  13. Object.entries(count).forEach(([key, value]) => {
  14. console.log(key, value) // "someKey" "some value", "hello" "world", "js javascript foreach object"
  15. })
  16. }
  17. }
  18. ]
  19. } );
  20. } );</script>

Po kliknięciu 'Wyślij' w logu widzę mnóstwo syfu. Jedyne co wydaje się przydatne to tablica deselect z numerami wierwszy w tabeli widocznych po stronie użytkownika które mają się jednak nijak do ID z bzy danych. Nie da się tego zrobić prościej?
Go to the top of the page
+Quote Post
nospor
post 19.12.2022, 15:12:10
Post #4





Grupa: Moderatorzy
Postów: 36 457
Pomógł: 6297
Dołączył: 27.12.2004




JA nie uzywam datatable, no ale z dokumentacji wynika ze to:

table.rows( { selected: true } )

zwraca ci zaznaczone wiersze. Zakladajac, ze do DataTable w wierszach wrzcuiles tez swoje ID z bazy, to to id tam wlasnie jest. Wiec w czym problem?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
DNMX
post 19.12.2022, 15:42:37
Post #5





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 18.09.2021

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


Zwraca jakies Id o wartościach 3,4 itp które odpowiadają numerom wierszy w UI
Go to the top of the page
+Quote Post
nospor
post 19.12.2022, 16:17:03
Post #6





Grupa: Moderatorzy
Postów: 36 457
Pomógł: 6297
Dołączył: 27.12.2004




No i majac numer wiersza i wiedzac w jakiej kolumnie masxz swoje ID, to odpalasz

dataTable.cell( idx, 2 ).data();

i juz.To wszystko jest w dokuemtnacji, ktora warto bys przewertowal skoro uzywasz datatable a nie ja wertuje mimo ze nie uzywam tego ustrojstwa smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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 Wersja Lo-Fi Aktualny czas: 27.04.2024 - 20:42