Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript]Przekazywanie zmiennych, Pętla zmienne
MateuszS
post
Post #1





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


Witam, w wielkim uproszczeniu:

mam w pehapie pętelkę

  1. while($a = mysql_fetch_assoc($b)) {
  2. echo $a['id'];
  3. echo '<a href="#" id="link" onClick="jakasfunkcja()">Usun</a>';
  4. }


I chcę zrobić coś takiego że gdy klikne na Usun, wyswietlilo mi komunikat, w ktorym bylby ID tego wpisu, np czy na pewno chcesz usunac wpis o id x ?
Chodzi o to ze nie wiem, jak przypisac zmienna w petli php, probowalem zwyczajnie przypisac zmienna js do php ale przypisalo tylko ostatnie ID,


Drugie problem, to z classami i ich pobieraniem przez JS. Pisalem o tym w poprzednim temacie ale z racji ze dalem juz tam "pomogl" nikt tam nie zaglada ;]
(dodam ze probowalem wiele skryptow)

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Drugie problem, to z classami i ich pobieraniem przez JS. Pisalem o tym w poprzednim temacie ale z racji ze dalem juz tam "pomogl" nikt tam nie zaglada ;]

Wartość className.

Cytat
I chcę zrobić coś takiego że gdy klikne na Usun, wyswietlilo mi komunikat, w ktorym bylby ID tego wpisu, np czy na pewno chcesz usunac wpis o id x ?
Chodzi o to ze nie wiem, jak przypisac zmienna w petli php, probowalem zwyczajnie przypisac zmienna js do php ale przypisalo tylko ostatnie ID,

To może dopisz po prostu do hrefa...?

Tak btw, na Twoim miejscu zacząłbym już korzystać z jakichś frameworków JS.
Go to the top of the page
+Quote Post
Solimo
post
Post #3





Grupa: Zarejestrowani
Postów: 39
Pomógł: 2
Dołączył: 11.08.2007

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


  1. echo '<a href="#" id="link" onClick="jakasfunkcja('.$a['id'].')">Usun</a>';


Tak nie działa?

Ten post edytował Solimo 22.08.2009, 21:47:14
Go to the top of the page
+Quote Post
MateuszS
post
Post #4





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


Cytat(Solimo @ 22.08.2009, 22:45:37 ) *
[PHP] pobierz, plaintext
  1. echo '<a href="#" id="link" onClick="jakasfunkcja('.$a['id'].')">Usun</a>';
[PHP] pobierz, plaintext

Tak nie działa?



probowalem tak tez, dalem function jakasfunkcja(id) {
//tresc funkcji
}
nie dzialalo

Erix, uczylem sie Jquery ale to wcale nie jest latwiejsze niz samo JS dla mnie (IMG:style_emoticons/default/sad.gif)

any ideas?

Ten post edytował MateuszScirka 22.08.2009, 21:55:32
Go to the top of the page
+Quote Post
phpion
post
Post #5





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Tak powinno zadziałać:
  1. while($a = mysql_fetch_assoc($b)) {
  2. echo $a['id'];
  3. echo '<a href="#" id="link" onClick="return confirm(\'Czy na pewno chcesz usunąć '.$a['id'].'?\');">Usun</a>';
  4. }

A odnośnie jQuery to może i trudniej na początku ruszyć ale wierz mi - warto. Poza tym do swoich umiejętności będziesz mógł dopisać znajomość jQuery czyli biblioteki, która jest obecnie bardzo popularna (o ile nie najpopularniejsza dla JS).
Go to the top of the page
+Quote Post
MateuszS
post
Post #6





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


Cytat(phpion @ 22.08.2009, 22:57:42 ) *
Tak powinno zadziałać:
[PHP] pobierz, plaintext
  1. while($a = mysql_fetch_assoc($b)) {
  2. echo $a['id'];
  3. echo '<a href="#" id="link" onClick="return confirm(\'Czy na pewno chcesz usunąć '.$a['id'].'?\');">Usun</a>';
  4. }
[PHP] pobierz, plaintext
A odnośnie jQuery to może i trudniej na początku ruszyć ale wierz mi - warto. Poza tym do swoich umiejętności będziesz mógł dopisać znajomość jQuery czyli biblioteki, która jest obecnie bardzo popularna (o ile nie najpopularniejsza dla JS).


przerobilem dla swoich potrzeb

  1. <a href="#" id="link" onClick="return confirm(\'Czy na pewno chcesz usunąć <? echo $assoc['ID']; ?> ?\')">Usun</a>

ale nie dziala ;]

Pobawie sie ponownie jQuery bo od ostatniego przeczytanego tuta troche minelo moze tym razem cos zrozumiem poza show('slow') ;D

Prosze o kolejne sugestie, pozdrawiam
Go to the top of the page
+Quote Post
thek
post
Post #7





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




A nie prościej zrobić tak?
  1. echo '<a href="/usun.php?id='.$a['id'].'" onClick="return confirm(\'Czy na pewno chcesz usunąć ten rekord?\nZmiany będą nieodwracalne.\')">Usuń</a>'

Omijasz przekazywanie zmiennych. W razie gdy ktoś potwierdzi, wykona się akcja usun dla rekordu o id odpowiednim. Jeśli nie potwierdzi to nie stanie się nic. Bo co Ci da JS w takim wypadku skoro zapewne modyfikujesz zmienne w bazie na serwerze, a JS działa tylko na kliencie? Musiałbyś i tak wywołać jakoś usuwanie z bazy.

Ale jeśli zmienna będąca kontenerem dla rekordu ma prawidłową nazwę to powinno zadziałać bezproblemowo:
  1. echo '<a href="/usun.php?id='.$a['id'].'" onClick="return confirm(\'Czy na pewno chcesz usunąć rekord '.$a['id'].'?\nZmiany będą nieodwracalne.\')">Usuń</a>'


Ten post edytował thek 23.08.2009, 01:50:19
Go to the top of the page
+Quote Post
MateuszS
post
Post #8





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


Ok dzieki Thek, a cos z tymi classami da sie zrobic? Szukalem pod ClassName, ale efekty mizerne, skrypt mi nie dziala wtedy,
Go to the top of the page
+Quote Post
thek
post
Post #9





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Nie wiem o jaki temat chodzi, więc nie mam jak sprawdzić założeń i tego co potrzebujesz. Zgaduję, że chcesz wyszukiwać elementy po nazwie klasy, bo JS ma wyszukiwanie tylko po Id oraz Tag. Musiałbyś napisać wtedy własną funkcję to robiącą, bo w chwili obecnej nie ma takiej funkcji wbudowanej w JS. Polegało by to na przejrzeniu każdego elementu w strukturze DOM dokumentu i wyszukaniu w zmiennej ClassName odpowiedniego ciągu znaków. Tylko pamiętaj, że tam może być więcej niż nazwa jednej klasy, więc porównanie ścisłe ( element['ClassName'] = 'nazwa_klasy') odpada i musisz wyszukać stringa w stringu. Ale to tylko moje zgadywanie bo nie wiem o jaki temat chodzi (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
MateuszS
post
Post #10





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


dokladnie o ten temat. Widzialem setki podobnych funkcji jednak zadna nie zadzialala, tak jak ma dzialac. Nie rozumiem czemu JS nie ma czegos w stylu getelementbyclass przeciez to jest tak samo wazne jak byID a nawet bardziej przydatne.
Go to the top of the page
+Quote Post
thek
post
Post #11





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Teoretycznie istnieje funkcja getElementsByClassName ale działa ona chyba w Firefoxie tylko i jedynie od wersji 3. Jeśli jednak poszukasz w google takiej właśnie nazwy funkcji to powinno Ci sypnąć, podobnie jak mi, gotowymi rozwiązaniami dla JS stworzonymi przez innych. Kwestia tylko jeszcze sprawdzenia, która działa tak jak sobie życzysz.
Go to the top of the page
+Quote Post
MateuszS
post
Post #12





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


Jak juz napisalem, widzialem wiele takich funkcji niestety zadna z nich nie zadzialala a na pewno dobrze je aplikowalem do swojej strony... moze ktos z was ma juz jakas wyprobowana dzialajaca
Go to the top of the page
+Quote Post
erix
post
Post #13





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
ale działa ona chyba w Firefoxie tylko i jedynie od wersji 3

Wszystkie nowoczesne obsługują - Fx 3, Opera 9.6, 10, Chrome, chyba IE7 też.

Cytat
Jak juz napisalem, widzialem wiele takich funkcji niestety zadna z nich nie zadzialala a na pewno dobrze je aplikowalem do swojej strony...

Pokaż przykładowe wywołanie.
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 Aktualny czas: 24.08.2025 - 19:43