stecosik1
6.07.2018, 14:49:05
echo '<input type="checkbox" name="kod"/>'; echo 'jakis element moze byc liczba lub string'<br
/>'; echo '</label>';
<input type="submit" name="kod" value="usuń wybrane">
Hej czy isntnieje jakaś funkcja usuwająca poprzez zaznaczenie checkboxem pola i przycisnieciem submita?
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?
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
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... ?!
stecosik1
9.07.2018, 07:27:58
obrazek odnosnie ptaszkowaniaChodzi mi o to że jak zaptaszkuje coś klikne usun wybrane to mi usuwa i sie już nie pojawia da się takie cos?
echo '<input type="checkbox" name="pusty_koszyk" id="kod"/>'; echo '"jakiś text"<br />';
<input type="submit" name="kod" value="usuń wybrane">
nospor
9.07.2018, 09:42:54
Nadal nie odpowiedziales na pytanie ktore zadal trueblue. Czego nie rozumiesz w tym pytaniu?
stecosik1
9.07.2018, 09:50:13
najlepiej usuwając widoczność
nospor
9.07.2018, 09:51:30

Widocznosc czego?

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?
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
nospor
9.07.2018, 10:06:46
trueblue
9.07.2018, 10:11:35
https://jsfiddle.net/78re2wLb/7/Najlepiej jakbyś jednak sprecyzował co rozumiesz pod pojęciem znikania.
stecosik1
9.07.2018, 10:15:15
<script type="text/javascript">
jQuery(function(){
jQuery("#usun").click(function(){
jQuery("input:checked").parent().hide();
});
});
</script>
<?php
foreach ($_SESSION['koszyk'] as $key => $value)
{
echo '<input type="checkbox" name="kod"/>'; echo '"'.$value.'"<br />'; }
?>
<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?
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?
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ć

proszę pomóżcie, będę bardzo wdzięczny
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
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...
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[]
stecosik1
9.07.2018, 10:47:25
<form action="" method="post">
<?php
foreach ($_SESSION['koszyk'] as $key => $value)
{
echo '<input type="checkbox" value="key" name="key[]"/>'; echo '"'.$value.'"<br />'; }
?>
<input type="submit" name="kod" value="usuń wybrane">
</form>
Coś takiego?
nospor
9.07.2018, 10:52:37
Jako VALUE miales podac wartosc $key anie slowo key...
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ć?
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
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?
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?
stecosik1
9.07.2018, 11:17:54
echo '<input type="checkbox" value="'.$key.'" name="key[]"/>';
Tak prawda??
nospor
9.07.2018, 11:21:17
Tak, teraz powinno byc dobrze.
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ę
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
stecosik1
9.07.2018, 11:36:19
<form action="" method="post">
<?php
foreach ($_SESSION['koszyk'] as $key => $value)
{
echo '<input type="checkbox" value="'.$key.'" name="key[]"/>'; echo '"'.$value.'"<br />'; }
foreach ($_POST['key'] as $keyToRemove) ------- to jest linia 26!!!!!!!!!
{
unset($_SESSION['koszyk'][$keyToRemove]); }
?>
<input type="submit" name="key[]" value="usuń wybrane">
</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
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
stecosik1
9.07.2018, 11:42:51
<form action="" method="post">
<?php
if (isset($_POST['key'])) {
foreach ($_POST['key'] as $keyToRemove)
{
unset($_SESSION['koszyk'][$keyToRemove]); }
}
foreach ($_SESSION['koszyk'] as $key => $value)
{
echo '<input type="checkbox" value="'.$key.'" name="key[]"/>'; echo '"'.$value.'"<br />'; }
?>
<input type="submit" name="key[]" value="usuń wybrane">
Zrobiłem to tak, prawidłowo?? Już błędy nie wyskakują
nospor
9.07.2018, 11:50:11
Dobrze. Moze bede jeszcze z ciebie ludzie
stecosik1
9.07.2018, 11:54:29
Dziekuję za serdeczną pomoc
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.