Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Rozwijana lista + treść z bazy danych
KrzysiekKCN
post
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
Go to the top of the page
+Quote Post
mortus
post
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
Go to the top of the page
+Quote Post
HackerCrime
post
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
Go to the top of the page
+Quote Post
KrzysiekKCN
post
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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 15:33