Cainoor [ Mów mi wuju ]
Problem z PHP
[edit]
Mam taki problem:
Tworze w PHP pole formularza takim oto poleceniem: <select name=c[] size=12 multiple class=input> I uzupelniam je zapytaniem mysql.
Wszystko wygląda tak jak powinno. Jest pole formularza i wypisane rekordy.
Teraz chcę, bym mógł zaznaczyć jeden z elementów (przypisać do wartości tabeli c[]) i wywołać na nim funkcję naciskając przycisk.
Wywołanie JS: <input type=button value=Dodaj onClick=dodajk()>
Niestety wygląda na to, że c[] nie zostaje w ogóle utworzona. Dlatego nic się nie dzieje.
Czy ktoś potrafiłby mi to wytłumaczyć?
Wypowiedź została zmodyfikowana przez jej autora [2005-01-25 01:45:34]
Cainoor [ Mów mi wuju ]
Mam problem - patrz proszę 1 post.
Wypowiedź została zmodyfikowana przez jej autora [2005-01-25 01:47:58]
Father Michael [ Padre ]
Cainoor -> nie do konca rozumiem czy o to Ci chodzi, ale nie mozesz nazwac zmiennej 'c[]'. Poza tym sprawdz czy masz register globals na on czy off.
Wypowiedź została zmodyfikowana przez jej autora [2005-01-25 03:01:12]
Qbaa [ Generaďż˝ ]
a może zamiast c[] ma być $c[], w ogóle nie wiem co to ma być...
<input type=button value=Dodaj onClick=dodajk()> - pokaż też ten skrypt
za mało info i nie wiem o co biega :)
Father Michael [ Padre ]
Qbaa -> wydaje mi sie, ze zmienna w ogole nie moze sie skladac z [].
Cainoor -> nazwij ja po prostu 'c'.
Qbaa [ Generaďż˝ ]
może w [] ma być jakaś konkretna cyfra lub zmienna :P
Cainoor [ Mów mi wuju ]
Funckja JS, która ma działać:
function dodajk()
tekst_opcji = prompt("Podaj nazwę kategorii:","");
if(tekst_opcji==null) alert('Anulowano operację dodawania nowej opcji.')
else
newopt=new Option(tekst_opcji, tekst_opcji);
ind=document.forms['frm'].elements['c[]'].options.lenght;
document.forms['frm'].elements['c[]'].options[ind]=newopt;
Niestety pojawia się tylko samo okienko Monit skryptu i nic poza tym.
Cainoor [ Mów mi wuju ]
Przestawie to bardziej obrazowo ===>>>
Jest sobie takie okienko, które wyświetla z bazy danych wszystkie pozycje. Teraz chciałbym, żeby po naciśnięciu przycisku np. Dodaj wykonało mi funkcję JS, która doda mi tylko i wyłącznie na tym okienku jakąś pozycje. Tak samo usun itp. Następnie przyciskiem Zapisz zapisuje zmiany już w bazie danych.
Problem jest taki, że kompletnie nie znam się na JS, a to ma być zrobione onClick, czyli po stronie klienta, prawda?
Wyżej napisałem moją funkcje w JS, ale wzorowana jest na książce sprzed paru lat i dlatego pewnie nie działa.
help.
legrooch [ Legend ]
Czemu php?
Cainoor [ Mów mi wuju ]
legrooch ---> a czemu nie? :) Już mam całą stronkę napisaną w tym (looknij na 83.144.72.18) Takie założenie projektu.
Tylko ten ostatni element został mi do wykończenia :/
legrooch [ Legend ]
Wolniutkie. Gdzieś słaba optymalizacja z bazą :)
Co do php, to sam go dopiero zaczynam łykać (od 0). Co do javascriptu, to nie trawię tego, więc raczej nei pomogę.
Pomyśl nad aspx.
Webapplication to byłoby to. Roboty tle, co kot napłakał, dla klientów możliwość aplikacji klienckiej itd. :) (ale to już marzenia :> )
legrooch [ Legend ]
Jeszcze jedno - a nie lepiej użyć i przerobić jakiegoś gotowego sklepu?
Tak jak np to?
Cainoor [ Mów mi wuju ]
Pewnie, że lepiej. To jest projekt na zaliczenie semestru, więc chcąc nie chcąc muszę go zrobić od zera :)
Temat to tylko przykrywka heh.
legrooch [ Legend ]
Ech... :)
No to kicha z jednym i drugim pomysłem :)
Ale powodzenia :)
Father Michael [ Padre ]
Cainoor -> https://forum.webhelp.pl/index.php?sid=8940596d9feb15561b0fd74054379bc9
Cainoor [ Mów mi wuju ]
Dzięki Father. Zaglądam tam właśnie.
hmm. To miałbyś jakiś konkretny post, czy chodziło Ci o całe forum Ojcze? :)
Wypowiedź została zmodyfikowana przez jej autora [2005-01-25 11:37:15]
Cainoor [ Mów mi wuju ]
miniup.
Father Michael [ Padre ]
Cainoor -> zarejestruj sie i zapytaj ;)
Cainoor [ Mów mi wuju ]
lol, ok :D
Cainoor [ Mów mi wuju ]
Czyli do ogólnego forum, tak? :)
Father Michael [ Padre ]
Cainoor -> wrzuc na forum o PHP i MySQL, a zaraz dostaniesz odpowiedz :)
legrooch [ Legend ]
Use newsgroup Luke :)
Drak'kan [ Thráin Saphireslinger ]
Problem tutaj bynajmniej nie jest natury PHP :/ To jest juz zwykla nieznajomosc HTMLa i tyle. Zadne pole nie moze miec nazwy w postaci nazwa[]. Dla pola typu select podajemy nazwe, a przy polach option dajemy tylko value, dzieki czemu wiemy co zostalo zaznaczone i tyle. Zarowno PHP jak JS odwoluje sie do zaznaczonego elementy wlasnie poprzez wartosc tejze zmiennej.
PS. Nastepnym razem pytaj w watku webmasterskim to pewnie szybciej dostaniesz odpowiedz niz po 3 tygodniach :)
Cainoor [ Mów mi wuju ]
Drak'kan ---> Niestety nazwanie zmiennej select bez [] też nie daje rezultatów. Po prostu mam błędnie napisaną funkcje JS i nie wiem jak poprawnie ją napisać.
Cainoor [ Mów mi wuju ]
Drak'kan ---> Czy aby napewno jest tak jak mówisz?
Czy przy polu select typu multiple nie można utworzyć tablicy z tymi opcjami?
Poprawiłem trochę moją funckę i teraz dodaje mi do mojej listy kolejną pozycje po naciśnięciu przycisku. Teraz mam problem z zapisaniem tej wartości dodanej do PHP. Myslałe, że to po prostu będzie ostatnia wartośćw tablicy i tyle. Jak można to " wyciagnać " ?