![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 255 Pomógł: 0 Dołączył: 23.06.2009 Ostrzeżenie: (10%) ![]() ![]() |
W tablicy $gat[], przechowuje nazwy kategorii (jeden,cztery)
Chciałbym sprawdzić czy nazwa przechowywana w $gat[0]; $gat[1]; $gat[2]; (...) Pasuje do kategorii z tego formularza: a jeśli pasuje to, żeby odpowiednie pole zamieniło mi na: Jak to najprościej zrobić? Jakbym miał znaleźć jedną konkretną kategorie i podmienić selecta to ok, ale tutaj nie wiem ile nazw kategorii zawiera $gat[] i jakimi pętlami to połączyć, żeby wszystko działało niezależnie od ilości kategorii. Proszę o pomoc. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 726 Pomógł: 20 Dołączył: 8.12.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Bierzesz foreach
i w ifie przyrównujesz do wartości z formularza jak są równe to echujesz czy co tam potrzebujesz. Ten post edytował Wykrywacz 21.04.2010, 12:10:44 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 255 Pomógł: 0 Dołączył: 23.06.2009 Ostrzeżenie: (10%) ![]() ![]() |
Zrobiłem tak jak mówisz, ale nie wiem jak podmienić to co jest w selectach:
Skoro optiony mam wyświetlane w taki sposób, że każda linia to osobne echo, to jak to zrobić żeby to działało ? Wszystkie optiony zapisać pod jedną zmienną $content bez echo, przelecieć preg_match i wyświetlić poprostu tą zmienną za pomocą 1 instrukcji echo ? Ten post edytował mefistofeles 21.04.2010, 12:35:17 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 726 Pomógł: 20 Dołączył: 8.12.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Nie do końca czaje co chcesz zrobić, jeżeli chcesz bez przeładowywania strony dynamicznie coś zmieniać w tym wszystkim, to ja bym tym optionom nadał id, i ich wartości podmieniał przez JS.
Jeżeli nie o to ci chodzi to musisz bardziej łopatologicznie napisać w co chcesz zrobić bo nie czaje |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 255 Pomógł: 0 Dołączył: 23.06.2009 Ostrzeżenie: (10%) ![]() ![]() |
No wyświetlam formularz w ten sposób:
I za pomocą tego:
Chce zamienić wiersz w którego kategoria zgadza się z ta ze zmiennej (preg_match), ale żeby to działało to cały formularz muszę mieć zapisany w tej zmiennej tak, a potem go wyświetlać za pomocą echp $wynik ? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 726 Pomógł: 20 Dołączył: 8.12.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Czyli chcesz wyświetlić tylko te elementy formularza które są == $get[$i]
Czyli jeżeli masz w $get[0] = 21; i powiedźmy w $get[1] = 8; To chciałbymś wyświetlić <select style='height:450px;' name='category[]' multiple='multiple'>"; echo "<option value='8' class='pole'>B</option>"; echo "<option value='21' class='pole'>C</option>"; echo "</select>"; O to ci chodzi? czy się nie rozumiemy? ![]() |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 255 Pomógł: 0 Dołączył: 23.06.2009 Ostrzeżenie: (10%) ![]() ![]() |
W $get[0] mogę mięć np A,
więc jeśli jest a to ma mi zamienić pole formularza w którym jest A z: <option value='8' class='pole'>A</option>"; na: <option selected value='8' class='pole'>A</option>"; a resztę optionów ma wypisać bez zmian. Ten post edytował mefistofeles 21.04.2010, 13:50:36 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 726 Pomógł: 20 Dołączył: 8.12.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
....
Po co ci ten preg_match ? to raz. Te dane formularza generujesz sobie czy klepiesz z łapy? Obliczenia robisz po przeładowaniu, czyli czy chcesz ponowne zaznaczenie mieć po przeładowaniu category[], czy chcesz mieć odpowiednią podpowiedź przy pierwszym generowania poprzez porównanie z tym czymś z tej twojej tablice $gat Bo naprawdę nie wiem już po tym co ci napisałem w czym jeszcze masz problem, a angażując się w twój problem chciałbym ci pomóc go zakończyć. Ten post edytował Wykrywacz 21.04.2010, 14:28:29 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 255 Pomógł: 0 Dołączył: 23.06.2009 Ostrzeżenie: (10%) ![]() ![]() |
Dane formularza są zawsze takie same, tzn około 30 kategorii.
Preg_match ma mi sprawdzić czy to co jest w tablicy pasuje do którejś kategorii, a jeśli tak to ta kategoria ma zostać automatycznie wybrana za pomocą SELECTED (może pasować kilka kategorii) Oczywiści chce mieć to przy pierwszym generowaniu skryptu, odrazu. Załóżmy, że mam zapisany cały formularz w zmiennej, nie jak miałem na początku wyświetlany za pomocą echo. Sprawdzam czy dana kategoria pasuje, ale jak dodać to SELECTED w odpowiednim miejscu ?
Jak podmienić tylko tą część która pasuje do danej kategrii. Jeśli w tablicy gatunek jest np. gatunek anime, to chce zamienić: <option value='21' class='pole'>Anime</option> na: <option selected value='21' class='pole'>Anime</option> Mam nadzieje, że wszystko jest już zrozumiałe ![]() |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 726 Pomógł: 20 Dołączył: 8.12.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Ja bym to zrobił za pomocą JS.
JS wywołujesz w body przy onload. W js bierzesz sobie sobie formularz i pętlą for jedziesz po jego wszystkich optionach i tu już jak wiesz jak zrobić jak wynik będzie ci się zgadzał to poprostu nadajesz temu elementowi wartość select. I wydaje mi się to sensowne, tym bardziej że nie odpowiedziałeś mi nadal czy te 30 optionów klepiesz z ręki czy wyświetlasz jako wyniki z pętli. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 255 Pomógł: 0 Dołączył: 23.06.2009 Ostrzeżenie: (10%) ![]() ![]() |
Napisałem wcześniej: dane formularza są zawsze takie same, tzn około 30 kategorii (optionów).
Co do js to bez sensu. Po co mam użyuwać js ![]() Przecież wszystkie skrypty będą się wykonywały podczas 1 odpalenia skryptu,także po co jakieś body onload itp ? Ten post edytował mefistofeles 23.04.2010, 10:17:07 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 09:52 |