![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 3 Dołączył: 6.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam, muszę napisać skrypt do zarządzania menu. Niby prosta sprawa, ale mam mały problem. Chodzi o zapis danych z formularza napisanego w html.
Formularz wygląda mniej więcej tak: (IMG:http://www.danielcom.pl/skjdhfldvcxhb/tabelka.jpg) Dane pobierane są w pętli (foreach) z MySql. Chcę teraz zapisać pola, które pozwalają na zmianę (opublikowany, order ...) z tego formularza za jednym podejściem, i nie bardzo mam pomysł jak to zrobić. Proszę o pomoc. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 518 Pomógł: 18 Dołączył: 21.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
nie rozumie pytania??
jesli masz pola to maja one jakies nazwy. prawdopodobnie (a nawet logiczne) jest ze te pola wysylane sa POSTem. po stronie odbierajacej piszesz $nazwa=$_POST['nazwa_pola']; takie zmienne podajesz do bazy jako update i tyle |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 3 Dołączył: 6.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
tak, ale problem polega na tym, że zmiennych $_POST['idmenu'] jest kilka (tyle ile linijek w formularzu) i jak rozdzielić każdy wiersz od siebie
domyślam się, że będzie tutaj potrzebna jakaś tablica, ale nie jestem pewien. A może napisze inaczej, chcę zebrać wszystkie dane z tego formularza i automatycznie wszystko zapisać. Formularz jest generowany dynamicznie, nie wiem ile będzie wierszy, wszystko zależy od złożoności tego menu. Ten post edytował Danielcom 23.01.2010, 17:20:16 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 362 Pomógł: 27 Dołączył: 14.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
jak generujesz formularz to jako name każdego z pól ustawiasz:
potem updatujesz to tak:
zapytanie pisane na szybko więc nie będzie pewnie działać (IMG:style_emoticons/default/tongue.gif) mam nadzieję, że dobrze zrozumiałem i będzie to działać... Ten post edytował evolucja 23.01.2010, 17:30:13 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 518 Pomógł: 18 Dołączył: 21.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
w takim ukladzie kazda wysylana kolumna musi byc tablica.
po stronie odbiorczej robisz petle $i=1; foreach($arrayidmenu as $wiersz=>$wartosc) { $opub=$tabopublikowany[$i]; $ord=$taborder[$i]; i tak dalej no i zapis do bazy: update tabela set opublikowany='$opub', order='$ord' where id='$wartosc' $i++; } cos takiego powinno przeleciec po elementach tablicyidmenu a tym samym po tablicach pozostalych wartosci |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 3 Dołączył: 6.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
ok, to rozwiązanie bardzo mi się podoba, mam tylko jeszcze jedno pytanie
skąd się bierze tablica $arrayidmenu ? a jeśli trzeba ją wygenerować to jak to zrobić z takiego kodu.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 362 Pomógł: 27 Dołączył: 14.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli użyłbyś mojego sposobu to tak:
Ten post edytował evolucja 23.01.2010, 18:15:48 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 3 Dołączył: 6.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
zrobiłem tak jak napisałeś, ale mam problem, mianowicie w z pliku do pliku przesyłane są głupoty typu
"http://localhost/skl/testy/form/wyswietl.php?<br+%2F>%0D%0A<b>Notice<%2Fb>%3A++Undefined+variable%3A+idmenu+in+<b>C%3A\wamp\www\skl\modules\menu\index.php<%2Fb>+on+line+<b>55<%2Fb>" ps chcę odebrać to takiem kodem:
Ten post edytował Danielcom 23.01.2010, 19:21:56 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 362 Pomógł: 27 Dołączył: 14.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 3 Dołączył: 6.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
teraz to już nie wiem czy ja coś źle napisałem, czy poprostu mam dzisiaj kiepski dzień (IMG:style_emoticons/default/sciana.gif)
teraz wyświetla Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\wamp\www\skl\modules\menu\index.php on line 23 to jest cały kod
i drugi plik którym chciałbym odbierać wszystkie zmienne (narazie jedna, nie chce mi się pisać (IMG:style_emoticons/default/biggrin.gif) )
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 362 Pomógł: 27 Dołączył: 14.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Nie, nie.. to ja mam dziś pecha ze wszystkim (IMG:style_emoticons/default/biggrin.gif) Teraz powinno być bez parsera... A tak po za tym to czekaj... czy ja dobrze widzę? Masz osobny formularz i button dla każdego wiersza? Ten post edytował evolucja 23.01.2010, 20:46:28 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 3 Dołączył: 6.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
tak, faktycznie wsadziłem tutaj stary kod (IMG:style_emoticons/default/smile.gif) ale ogólnie to jest to samo i po poprawieniu tego błędu z przyciskiem.
W sumie myślałem, żeby zrobić to już tak, ze do każdego wiersza jest oddzielny przycisk myślałem, ze będzie prościej (IMG:style_emoticons/default/smile.gif) ale jednak wolał bym zrobic tak jak to wałkujemy (IMG:style_emoticons/default/smile.gif) teraz mam tak
Ten post edytował Danielcom 23.01.2010, 21:05:54 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 14 Dołączył: 21.01.2009 Skąd: Mszczonów Ostrzeżenie: (0%) ![]() ![]() |
Dlaczego wysyłasz formularz metodą GET? Przy tak dużym formularzu, url będzie bardzo długi.
Lepiej (i bezpieczniej) zrobić to POSTem. I zamiast Wrzuć: Niepotrzebne cudzysłowy. Ten post edytował rytek 23.01.2010, 21:15:19 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 3 Dołączył: 6.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ogólnie cały system chodzi na postach, teraz zmieniłem żeby zobaczyć co jest przesyłane.
Usuniecie cudzysłowów pomogło, ale dalej jest problem z odczytaniem tych danych (kod pobrany z tego tematu). Notice: Undefined variable: arrayidmenu in C:\wamp\www\skl\testy\form\wyswietl.php on line 3 Warning: Invalid argument supplied for foreach() in C:\wamp\www\skl\testy\form\wyswietl.php on line 3 Wiem, że jestem dzisiaj męczący, ale jakoś mi dzisiaj nie idzie (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 362 Pomógł: 27 Dołączył: 14.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Foreach się chyba tutaj nie sprawdzi...
To powinno ci wypisać wartości wszystkich pól... Warunek- nie mogą być puste, czyli tam gdzie puste daj 0. Ciężko mi się myśli ale powinno działać... Więc jeśli zadziała, to już chyba będziesz wiedział co robić.. Ten post edytował evolucja 23.01.2010, 21:47:47 |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 3 Dołączył: 6.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
jak zadziała (IMG:style_emoticons/default/smile.gif)
dalej jest błąd Notice: Undefined variable: arrayidmenu in C:\wamp\www\skl\testy\form\wyswietl.php on line 3 dodałem cudzysłowy , błedu nie ma, ale za to nic się teraz nie wyświetla.
A co do pętli to faktycznie while będzie szybsze. (IMG:style_emoticons/default/smile.gif) Chyba jednak sobota nie jest od pracy (IMG:style_emoticons/default/smile.gif) Przyznam, że mam z tym systemem sporo problemów, ale całe temu mnie dobija. |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 362 Pomógł: 27 Dołączył: 14.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze, zobacz w źródle formularza jak ci się te nazwy pól generują, bo może tam jest błąd...
A w wyświetl.php dodaj sobie na początku: A tymczasem pozdrawiam gdyż muszę już iść. Do jutra (IMG:style_emoticons/default/biggrin.gif) |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 3 Dołączył: 6.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
faktyczniecoś się źle generuje, zaraz nad tym posiedzę[xml][/xml]
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 362 Pomógł: 27 Dołączył: 14.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
może tym razem... mam nadzieję, że nie przekombinowałem (IMG:style_emoticons/default/biggrin.gif) powinno zwracać name w postaci: '$arrayidmenu[][22]' '$arrayidmenu[][24]' Ten post edytował evolucja 24.01.2010, 11:16:41 |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 3 Dołączył: 6.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
działa (IMG:style_emoticons/default/smile.gif)
trochę zmodyfikowałem ten skrypt. dzieki temu generuje się taka tablica
Ten post edytował Danielcom 24.01.2010, 12:50:09 |
|
|
![]()
Post
#21
|
|
Grupa: Zarejestrowani Postów: 362 Pomógł: 27 Dołączył: 14.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Czyli już sobie poradzisz? (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#22
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 3 Dołączył: 6.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Pokombinuję jeszcze z zapisywaniem do bazy, bo ta tablica generuje się trochę inaczej niż sam bym tego chciał (IMG:style_emoticons/default/smile.gif)
Będę prawdopodobnie musiał przepisać funkcję któa zapisuje mi dane do MySQL |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 21:17 |