![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 26.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Chciałbym uzyskać taki efekt: na stronie jest formularz (to nie jest problem), a dodatkowo 3 rozwijane menu, do których dane będą pobierane z 3 tabel na serwerze MySQL. Dodatkowo, po wypełnieniu formularza oraz po wybraniu opcji z rozwijanego menu, wpis ma zostać dodany do bazy danych (dane z formularza + to co zostało wybrane). Czy jest jakiś w miarę prosty system, aby to uzyskać? 1. Chodzi głównie o skrypt rozwijanego menu, które pobiera dane z MySQL. 2. Jak wpisać w poleceniu "insert" te dane, które zostały wybrane z rozwijanego menu - może zarejestrować wybór jako nową zmienną (jak)? Z góry dzięki... Pozdrawiam... |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 27.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Nie zamierzam pisac za ciebie calego skryptu ale sprobuje chociaz naprowadzic ciebie na wlasciwą drogę.
Mianowicie a) Naprostszy sposob to Wykonac zapytanie do bazy danych i nastepnie wynik zapytania umiescic w znacznikach option pola select w xhtml np. $sql = mysql_query("SELECT * FROM ..."); echo "<Select>"; while($row=mysql_fetch_row($sql)) { echo "<option> np $row['jakies pole z db'] </option> "; } echo '</select>'; ![]() Jesli tak wykonujac powyzsze zapytanie mozesz najprosciej skorzystac z tablic gloalnych $_GET i $_POST bo dane ktore sa wysylane za pomoca formularza znajduja sie wlasnie w nich ... Oczywiscie wypadalo by jeszcze sprawdzic poprawnosc danych i ich walidacje ale oczywiscie przedstawilem najprostszy sposob. pozdrawiam |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 26.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za pomoc, jednak ciągle nie imiem sobie z tym poradzić...
Tak wygląda mój plik "dodaj.php": Kod <?php require ("check.php"); mysql_connect ("localhost", "ergoline", "123456"); mysql_select_db ("db_ergoline"); echo ' <form action="dodaj.php" method="post"> <table> <tr> <td>Imię: </td> <td><input type = "text" name = "imie"></td> </tr> <tr> <td>Nazwisko: </td> <td><input type = "text" name = "nazwisko"></td> </tr>'; $sql = mysql_query ("SELECT * FROM kierunek"); echo '<Select>'; while ($row = mysql_fetch_row($sql)) { echo '<option>$row["nazwa"]</option>'; } echo '</select> <input type = "submit" value = "Dodaj studenta" /> <input type = "reset" value = "Wyczyść formularz" /> </form>'; ?> Chcę aby w menu rozwijanym można było wybrać wartości, które będą pobierane z kolumny "nazwa" tabeli "kierunek". Przy takim kodzie efektem końcowym jest rozwijane menu, w którym mogę wybrać "$row["nazwa"]". Prówałem również: Kod ... echo '<option> <?php $row[1] ?> </option>'; ... Jednak bez skutku - w takim wypadku nie ma nic do wyboru... Gdzie popełniam błąd? Pozdrawiam... Ten post edytował ergoline 26.12.2008, 16:44:44 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 403 Pomógł: 68 Dołączył: 20.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
spróbuj $row[0] jeżeli nie będzie działać to za pomocą
sprawdź czy w ogóle coś jest w tej tablicy -------------------- Pomogłem? wyraź to i kliknij "Pomógł"
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 26.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj coś takiego:
Ten post edytował lukas22333 26.12.2008, 18:41:42 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 26.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dokłanie
![]() ![]() Mam jeszcze jedno pytanie... Czy jest możliwość "ograniczenia" tego menu? Chodzi mi o to, że są 2 menu rozwijane i chciałbym, żeby jedno było zależne od drugiego. Dokładnie: po wybraniu w I menu opcji 1, w II menu mam do wyboru tylko a i b; po wybraniu w I menu opcji 2, w II menu mam do wyboru tylko c i d itp... Z tego co się orientuję, to można chyba takie coś zrobić jeśli operujemy na jednej tabeli. Czy w moim wypadku, gdzie operuję dwiema tabelami, można uzyskać taki efekt? Pozdrawiam... Ten post edytował ergoline 27.12.2008, 02:44:26 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 26.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ale chcesz zeby automatycznie wypełniało tą drugą liste? czy tak ze z pierwszej wybierasz jakas wartosc i zatwierdzasz to przyciskiem i dopiero druga sie uzupełnia?
Jak pierwsza opcja to chyba tylko JS zostaje. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 17:13 |