![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 148 Pomógł: 2 Dołączył: 4.08.2009 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
potrzebuje rozwijaną listę, <select> w której pobierane będą dane z bazy danych. Przy wpisywaniu np. gdy wpiszę G to wyświetli mi wszystkie rekordy zaczynające się na literę G. W php wczytywanie do formularza jest proste, a takie auto wypełnianie załatwił plugin jQuery Autocomplete. Tylko że on pobiera dane z pliku js. w którym jej tablica danych. Jak zrobić żeby dane do tej tablicy pobierane były z bazy danych. plik localdata.js Kod var cities = [ "Aberdeen", "Ada", "Adamsville", "Addyston", "Adelphi", "Adena", "Adrian", "Akron", "Albany", "Alexandria", "Alger", "Alledonia", "Alliance", "Alpha", "Alvada", "Alvordton", "Amanda", "Amelia", "Amesville", "Amherst", "Amlin", "Amsden" ]; plik index.php Kod <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>jQuery Autocomplete Plugin</title> <script type="text/javascript" src="files/lib/jquery.js"></script> <script type='text/javascript' src='files/jquery.autocomplete.js'></script> <script type='text/javascript' src='localdata.js'></script> <link rel="stylesheet" type="text/css" href="main.css" /> <link rel="stylesheet" type="text/css" href="files/jquery.autocomplete.css" /> <?php include ('test.php'); ?> <script type="text/javascript"> $().ready(function() { $("#suggest1").focus().autocomplete(cities); $("#singleBirdRemote").result(function(event, data, formatted) { if (data) $(this).parent().next().find("input").val(data[1]); }); }); </script> </head> <body> <div id="content"> <form autocomplete="off"> <p> <label>Marka:</label> <input type="text" id="suggest1" /> <input type="button" value="Get Value" /> </p> <input type="submit" value="Submit" /> </form> <button id="clear">Wyczyść formularz</button> </div> <script type="text/javascript"> _uacct = "UA-2623402-1"; urchinTracker(); </script> </body> </html> a tak wyciągnął bym dane z bazy danych: Kod $zapytanie = "SELECT * FROM `marka` ORDER BY `id` DESC"; $idzapytania = mysqli_query($mysql, $zapytanie); while ($wiersz = mysqli_fetch_array($idzapytania)) { echo '$wiersz['marka']'; } Proszę o pomoc, i z góry dziękuje |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Trzeba skorzystać z technologii AJAX. W jQuery służą do tego metody .get(), .post(), czy .ajax(). Tobie wystarczy jak najbardziej .get(). Parametr url tej metody powinien odnosić się do pliku/skryptu PHP, który będzie pobierał dane do pola select. Możesz je zwrócić jako HTML (lista elementów <option> łącznie z tymi właśnie tagami), albo np. jako json i odpowiednio przetworzyć w JavaScript.
Zajrzyj do dokumentacji jQuery (odnośniki powyżej). Google: jQuery + AJAX. Ten post edytował mortus 26.12.2011, 18:09:20 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 1 Dołączył: 20.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Prawdopodobnie chodzi ci o autocomplete. Tylko po co select do tego? Poszukaj tutaj
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 148 Pomógł: 2 Dołączył: 4.08.2009 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Dziękuje ślicznie (IMG:style_emoticons/default/smile.gif) Po drobnych przeróbkach udało mi się osiągnąć nawet więcej niż planowałem.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 15:33 |