![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 28.03.2022 Ostrzeżenie: (0%) ![]() ![]() |
Cześć.
Sprzedaje bilety online na wycieczki i w związku z tym mam / generuje formularz z polami text (nr biletu, imie, nazwisko, email) Ooyrzebowalbym zroboć cos na zasadzie unikalnego id takiego ktory jest generowany dla tabeli (autoincrement) Niestety to co mam teraz zostalo zrobione 10 lat temu i oparte jest o pliki nie baze. Potrzebowalbym aby w pole NUMER BILETU wstawić liczby jako numer biletu. Zaczęło by się to od liczby 2000 zeby ktoś nie myslal ze dopiero zaczynam hehe. Mam formularz gdzie wybieram ilosc osób przykladowo 10 i wtedy bastepuje wygenerowanie formularza przez pętle. Mam więc 10 wierszy z polami text. Chcialbym aby w miejscu NUMER BILETU osadzic zawsze numery po kolei Np. 2001 2002 2003 2004 Itd Potem nastepuje zapis do pliku. Pozniej znowu generuje formularz i znowu chcialbym aby numery się tam osadzaly ALE juz zaczynając od ostatbiej najwiekszej liczby jaka byla wygenerowana. Wiec jak bylo to 2010 to nowy formularz z polami biletow zaczął by się od 2010. Nie byloby problemu z bazą danych (wtedy dawalbym po prostu ID tam) ale niestety to jest na plikach i nie wiem jak to rozwiaxac. Trzebaby to gdzies zapisywac, pobierac, zwiekszac w petli potem znowu zapisywac..... Szukam optymalnego rozwiazania. Jak to najlepiej zrobic? Ten post edytował maya 28.03.2022, 14:08:28 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Gdybyś miał bazę, to nic by to nie dało, bo nie możesz wygenerować dwóch lub więcej formularzy z tymi samymi numerami. A tak mogłoby się zdarzyć gdyby kilku użytkowników otworzyło formularz rejestracji, a nie dokonało zapisu.
Podczas generowania tego formularza, nie jest potrzebny numer. Numer ten nadajesz podczas zapisu. Wtedy wyciągasz z pliku numer (tego z rekordami lub odrębnego gdzie jest tylko ostatni numer), zwiększasz o 1 i zapisujesz kolejne bilety, nie dopuszczając do jednoczesnego zapisu z innego żądania. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 28.03.2022 Ostrzeżenie: (0%) ![]() ![]() |
Dzieki za odpowiedz. Jakos to musze ogarnac.
Mialbym jeszcze jedno pytanie. Ten formularz generuje na zasadzie tablicy. Wszystkie pola NAME mają znak tablicy np. name="name[]"...i tak dla kazdego NAME z tych pól. Próbuje znalesc sposob na jedno z nich. Mianowicie jest to name="nationality[]" Chcialbym dla wygody umiescic sjrypt autouzupelnienia. Wpisalbym np "A" a skrypt wyswietlilby wszyskie kraje na litere A. Problem w rym ze to tablica i generowana przez petle wiec jak osadze ID do tego pola to wszedzie bedzie to samo. Mam nadzieje ze wiadomo o co chodzi. Jak to ominąć/zrobic? Ten post edytował maya 28.03.2022, 15:11:22 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 73 Dołączył: 15.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
To napisz Service, który zwróci Ci listę krajów odpytując metodę z argumentami lub bez. Wtedy będziesz mieć to odseparowane i reużywalne w zgodzie z DRY. Raz użyjesz w aktualnym miejscu, a raz w tym gdzie potrzebujesz zwrócić listę krajów do przeszukania.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 28.03.2022 Ostrzeżenie: (0%) ![]() ![]() |
To napisz Service, który zwróci Ci listę krajów odpytując metodę z argumentami lub bez. Wtedy będziesz mieć to odseparowane i reużywalne w zgodzie z DRY. Raz użyjesz w aktualnym miejscu, a raz w tym gdzie potrzebujesz zwrócić listę krajów do przeszukania. Ja nie mam pojecia jak to zrobic bo nie znam js wogole. Są dostepne przyklady w necie ale kazde opiera sie na podaniu nazwy pola text ale w moim przypadku jest to tablica wiec skrypt bedzie dzialal na kazdym z pól w danym momencie tak samo. Czyli jak zaczne wpisywac "A" to powiedzmy w 10cou wygenerowanych polach bedzie pokazywac sie to samo. Jak sie tego ustrzec albo zmienic lub moze istnieje jakis inny przyklad ktory w jakis inny sposob wyswietla. Ten post edytował maya 28.03.2022, 16:14:54 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
https://github.com/kraaden/autocomplete ale skoro nie masz pojęcia o JS, to nie wiem czy Ci się uda wykorzystać.
|
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Ja nie mam pojecia jak to zrobic bo nie znam js wogole. Są dostepne przyklady w necie ale kazde opiera sie na podaniu nazwy pola text ale w moim przypadku jest to tablica wiec skrypt bedzie dzialal na kazdym z pól w danym momencie tak samo. Czyli jak zaczne wpisywac "A" to powiedzmy w 10cou wygenerowanych polach bedzie pokazywac sie to samo. Jak sie tego ustrzec albo zmienic lub moze istnieje jakis inny przyklad ktory w jakis inny sposob wyswietla. Podaj linka do autocomplete co uzywasz. moze mozna tam sie podpiac nie tylko przez ID A zreszta, nawet jak tylko po ID, to poprostu nadaj dla kazdego pola inne ID, ala pole1, pole2,pole3 a potem tego autocomplete odpal dla kazdego z nich i popproblemie |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 28.03.2022 Ostrzeżenie: (0%) ![]() ![]() |
I teraz ja mam np pole text z tablicą ktore generuje pętla
Ten post edytował maya 28.03.2022, 18:07:47 |
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
To tak jak ci pisalem, w petli for co generujesz te INPUT to dodawaj kolejny numerek do ID
a to $( "#tags" ).autocomplete({ source: availableTags }); tez generuj w petli i tez dodawaj numerek kolejny i juz |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 28.03.2022 Ostrzeżenie: (0%) ![]() ![]() |
Robilem tak i niby powinno dzialać ale nie dziala.
Działa tylko na ostatnim polu text.
Ten post edytował maya 29.03.2022, 13:12:23 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 6 381 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tworzysz 5x tą samą funkcję BindControls która wiadomo że wywoła się zawsze ostatnia. Wywal to Countries poza pętle, zostaw tylko $('#tbCountries<?=$i;?>').autocomplete({
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 28.03.2022 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za odpowiedz ale ja wogole nie czaje JS i nie wiem co z czym ma byc.
Ktoś mógłby to poskładac żeby działało bo sam nie dam rady |
|
|
![]()
Post
#13
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Kod <html>
<head> <link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script> <style> p, div, input { font: 16px Calibri; } .ui-autocomplete { cursor:pointer; height:120px; overflow-y:scroll; } </style> </head> <body> <script> var Countries = ['ARGENTINA', 'AUSTRALIA', 'BRAZIL', 'BELARUS', 'BHUTAN', 'CHILE', 'CAMBODIA', 'CANADA', 'DENMARK', 'DOMINICA', 'INDIA']; </script> <?php for($i=0;$i<=5;$i++) { print "<input type=\"text\" id=\"tbCountries$i\" /><br>"; ?> <script> $('#tbCountries<?=$i;?>').autocomplete({ source: Countries, minLength: 0, scroll: true }).focus(function() { $(this).autocomplete("search", ""); }); } </script> </body> </html> <?php } ?> |
|
|
![]() ![]() |
![]() |
Aktualny czas: 30.09.2025 - 10:01 |