Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Przedszkole _ [HTML][PHP]Usunięcie elementu zaznaczonego checboxem

Napisany przez: stecosik1 6.07.2018, 14:49:05

  1. http://www.php.net/echo '<label>';
  2. http://www.php.net/echo '<input type="checkbox" name="kod"/>';
  3. http://www.php.net/echo 'jakis element moze byc liczba lub string'<br />';
  4. echo '</label>';


  1. <http://december.com/html/4/element/input.html type="submit" name="kod" value="usuń wybrane">


Hej czy isntnieje jakaś funkcja usuwająca poprzez zaznaczenie checkboxem pola i przycisnieciem submita?


Napisany przez: trueblue 6.07.2018, 15:05:00

Usuwając skąd? Wyłączająca widoczność, usuwająca z drzewa DOM, usuwająca z bazy danych?

Napisany przez: Niepokonany13 7.07.2018, 23:12:20

W pliku możesz przechowywać dane które potem chcesz usunąć a żeby znalazły się na stronie to zrób include_once(„Nazwa pliku”);
Robisz Ifa i sprawdzasz czy ustawiony jest checkbox jeśli tak to usuwasz lub czyścisz plik

Napisany przez: gitbejbe 8.07.2018, 21:15:47

Cytat(Niepokonany13 @ 8.07.2018, 00:12:20 ) *
W pliku możesz przechowywać dane które potem chcesz usunąć a żeby znalazły się na stronie to zrób include_once(„Nazwa pliku”);
Robisz Ifa i sprawdzasz czy ustawiony jest checkbox jeśli tak to usuwasz lub czyścisz plik


co k... ?!

Napisany przez: stecosik1 9.07.2018, 07:27:58

https://www.fotosik.pl/zdjecie/b2ca194597884d0c

Chodzi mi o to że jak zaptaszkuje coś klikne usun wybrane to mi usuwa i sie już nie pojawia da się takie cos?

  1. http://www.php.net/echo '<label>';
  2. http://www.php.net/echo '<input type="checkbox" name="pusty_koszyk" id="kod"/>';
  3. http://www.php.net/echo '"jakiś text"<br />';
  4. http://www.php.net/echo '</label>';


  1. <http://december.com/html/4/element/input.html type="submit" name="kod" value="usuń wybrane">

Napisany przez: nospor 9.07.2018, 09:42:54

Nadal nie odpowiedziales na pytanie ktore zadal trueblue. Czego nie rozumiesz w tym pytaniu?

Napisany przez: stecosik1 9.07.2018, 09:50:13

najlepiej usuwając widoczność

Napisany przez: nospor 9.07.2018, 09:51:30

facepalmxd.gif
Widocznosc czego?questionmark.gif

Chcesz tylko i wylacznie usunac checkoby by nie byly widoczne w danej chwili na stronie, czy moze jednak chcesz usunac rzeczy, ktore sa powiazane z tymi checkboxami? Np. rekordy w bazie?

Napisany przez: stecosik1 9.07.2018, 09:54:46

mam nadzieje ze zrozumiesz, czyli jak osoba zaznaczy ptaszkiem ten kwadracik a obok niego pisze text, to chce aby ten kwadracik z ptaszkiem zniknął i ten text obok

Napisany przez: nospor 9.07.2018, 10:06:46

http://jsfiddle.net/381qs7wm/4/

Napisany przez: trueblue 9.07.2018, 10:11:35

https://jsfiddle.net/78re2wLb/7/

Najlepiej jakbyś jednak sprecyzował co rozumiesz pod pojęciem znikania.

Napisany przez: stecosik1 9.07.2018, 10:15:15

<script type="text/javascript">
jQuery(function(){

jQuery("#usun").click(function(){
jQuery("input:checked").parent().hide();
});
});
</script>

  1. <?php
  2.  
  3.  
  4. foreach ($_SESSION['koszyk'] as $key => $value)
  5. {
  6. http://www.php.net/echo '<label>';
  7. http://www.php.net/echo '<input type="checkbox" name="kod"/>';
  8. http://www.php.net/echo '"'.$value.'"<br />';
  9. http://www.php.net/echo '</label>';
  10. }
  11.  
  12.  
  13. ?>
  14. <input type="submit" name="kod" id="usun" value="usuń wybrane">


Znaczy jak zniknie to już nie ma powrotu do tego co było wczesniej. To co mi podaliście to musze zrobić dla następującego kodu, próbowałem myślałem że zadziała, podpowiedzcie czy to do tego się nadaje czy nie?

Napisany przez: nospor 9.07.2018, 10:19:51

Naprawde tak ciezko jest ci napisac:
"Chodzi mi o usuniecie powiazanych rekordow z sesji"

Naprawde taki problem tak sformulowac zadanie? Naprawde nie rozumiesz, ze jak usuniesz cos z sesji, to lista ktora jest generowana na podstawie sesji, zostanie wyczyszczona automatycznie podczas nastepnego generowania?

Napisany przez: stecosik1 9.07.2018, 10:26:15

sorki, bo ja mam taką myśl zrobić taki mini koszyk na produkty, no i cyk user dodaje item do koszyka, no ale co zrobić jak doda 5 itemów a 2 z nich uzna że jednak nie chce i pasuje jakoś te itemy zlikwidować za pomocą przycisku, nie mam kompletnie pojecia jak się za to zabrać sad.gif proszę pomóżcie, będę bardzo wdzięczny

Napisany przez: nospor 9.07.2018, 10:29:12

My wiemy co chcesz zrobic. Ja ci tylko mowie, bys sie kurde w koncu skupil. Tyle czasu na forum jestes i nie potrafisz opisac problemu... nawet jak sie cieby konkretnie pytamy i podajemy rozne przyklady a ty dalej nie potrafisz sam napisac o co ci chodzi.... Dopiero jak podales kod to bylo widac co masz na mysli. Ogarnij sie w koncu. Proste pytanie:
"jak usunac wpisy z sesji"
A ty zamiast tak zapytac to kombimujesz jak kon pod gorke

Napisany przez: stecosik1 9.07.2018, 10:32:01

naprawde sorki, ale czy jest jeszcze opcja dostania pomocy, naprowadzenia czegokolwiek od was? bo widze że was tylko ze złościłem... sad.gif

Napisany przez: nospor 9.07.2018, 10:33:43

jako value dla checbox ustawiasz KEY z sesji. Potem normalnie wysylasz formularz i w tablicy $_POST masz KEY wybranych checkboxow. Na tej podstawie usuwasz dane z sesji.
Jak name dla checkbox daj np: KEY[]

Napisany przez: stecosik1 9.07.2018, 10:47:25

  1. <form action="" method="post">
  2. <?php
  3.  
  4. foreach ($_SESSION['koszyk'] as $key => $value)
  5. {
  6. http://www.php.net/echo '<label>';
  7. http://www.php.net/echo '<input type="checkbox" value="key" name="key[]"/>';
  8. http://www.php.net/echo '"'.$value.'"<br />';
  9. http://www.php.net/echo '</label>';
  10. }
  11.  
  12. ?>
  13. <input type="submit" name="kod" value="usuń wybrane">
  14. </form>


Coś takiego?

Napisany przez: nospor 9.07.2018, 10:52:37

Jako VALUE miales podac wartosc $key anie slowo key...

Napisany przez: stecosik1 9.07.2018, 11:06:05

Cytat(nospor @ 9.07.2018, 11:33:43 ) *
Potem normalnie wysylasz formularz i w tablicy $_POST masz KEY wybranych checkboxow. Na tej podstawie usuwasz dane z sesji.


No to name i value miałbym, tylko nadal nie usuwa, nie dokońca rozumiem o co ci chodziło w tym co zacytowałem. Zapewne jeszcze mi czegoś brakuje, tylko czego, jak się za to zabrać?

Napisany przez: nospor 9.07.2018, 11:07:22

Jak juz ustawisz prawidlowe VALUE jak ci pisalem, nadal nie widze bys poprawil, to wowczas po wyslaniu forma w tablicy $_POST bedziesz mial dane z zaznaczponych checkboxow.
Zrob sobie
print_r($_POST);
a zobaczysz na wlasne oczy. No to juz powinienies umiec robic zwykle PRINT_R

Napisany przez: stecosik1 9.07.2018, 11:14:20

Array ( [key] => Array ( [0] => $key ) [kod] => usuń wybrane )

Hmm.. takie coś powstało, prawidłowo? Jeśli tak to musze to jakoś usunąć funkcją może unset?

Napisany przez: nospor 9.07.2018, 11:16:26

Dokladnie. unset masz uzyc by usunac zaznaczone rzeczy z sesji

No ale masz nadal zle... miales wstawic wartosc $key a nie tekst $key... Ile razy mozna to mowic?

Napisany przez: stecosik1 9.07.2018, 11:17:54

echo '<input type="checkbox" value="'.$key.'" name="key[]"/>';

Tak prawda?? biggrin.gif

Napisany przez: nospor 9.07.2018, 11:21:17

Tak, teraz powinno byc dobrze.

Napisany przez: stecosik1 9.07.2018, 11:24:54

No w print_r($_POST); pokazuje mi tą wartość (wartości) które zaznaczyłem ale pytanie ta funkcja unset, jak ją tu zastosować? Jakieś rady, pomoc, aby to już zakończyć. Bardzo cię proszę

Napisany przez: nospor 9.07.2018, 11:26:17

Poniewaz $_POST['key'] zawiera tablice zaznaczonych checkbox to teraz robisz FOREACH po $_POST['key'] i dla kazdego elementu robisz unset na $_SESSION

Napisany przez: stecosik1 9.07.2018, 11:36:19

  1. <form action="" method="post">
  2. <?php
  3.  
  4. foreach ($_SESSION['koszyk'] as $key => $value)
  5. {
  6. http://www.php.net/echo '<label>';
  7. http://www.php.net/echo '<input type="checkbox" value="'.$key.'" name="key[]"/>';
  8. http://www.php.net/echo '"'.$value.'"<br />';
  9. http://www.php.net/echo '</label>';
  10. }
  11.  
  12. foreach ($_POST['key'] as $keyToRemove) ------- to jest linia 26!!!!!!!!!
  13. {
  14. http://www.php.net/unset($_SESSION['koszyk'][$keyToRemove]);
  15. }
  16.  
  17. http://www.php.net/print_r($_POST);
  18. ?>
  19. <input type="submit" name="key[]" value="usuń wybrane">
  20. </form>


Zrobiłem to tak i wygląda na to że działa tylko zanim cokolwiek usunę, to wchodząc do koszyka, wyskakują mi takie błedy:

Notice: Undefined index: key in C:\xamppp\htdocs\test\koszyk.php on line 26

Warning: Invalid argument supplied for foreach() in C:\xamppp\htdocs\test\koszyk.php on line 26

Napisany przez: nospor 9.07.2018, 11:38:02

No bo nowy kod usuwajacy masz odpalac dopiero po wyslaniu forma a nie za kazdym razem.

Zadanie dla ciebie: pomysl jak sprawdzic czy form byl wyslalny czy nie

No i kod usuwajacy masz odpalac przed generowanie listy z sesji a nie po

Napisany przez: stecosik1 9.07.2018, 11:42:51

  1. <form action="" method="post">
  2. <?php
  3. if (http://www.php.net/isset($_POST['key']))
  4. {
  5. foreach ($_POST['key'] as $keyToRemove)
  6. {
  7. http://www.php.net/unset($_SESSION['koszyk'][$keyToRemove]);
  8. }
  9. }
  10.  
  11.  
  12.  
  13. foreach ($_SESSION['koszyk'] as $key => $value)
  14. {
  15. http://www.php.net/echo '<label>';
  16. http://www.php.net/echo '<input type="checkbox" value="'.$key.'" name="key[]"/>';
  17. http://www.php.net/echo '"'.$value.'"<br />';
  18. http://www.php.net/echo '</label>';
  19. }
  20.  
  21.  
  22. http://www.php.net/print_r($_POST);
  23. ?>
  24. <input type="submit" name="key[]" value="usuń wybrane">


Zrobiłem to tak, prawidłowo?? Już błędy nie wyskakują biggrin.gif

Napisany przez: nospor 9.07.2018, 11:50:11

Dobrze. Moze bede jeszcze z ciebie ludzie smile.gif

Napisany przez: stecosik1 9.07.2018, 11:54:29

Dziekuję za serdeczną pomoc

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)