jak dodac nowa opcje do pola select w formularzu? |
jak dodac nowa opcje do pola select w formularzu? |
18.05.2004, 21:31:36
Post
#1
|
|
Grupa: Postów: 0 Pomógł: Dołączył: -- Ostrzeżenie: (0%) |
a wiec sytuacja wyglada nastepujaco: mam w formularzu wielokrotnego select'a z jezykami obcymi (dodawanymi w ramach jednego z atrybutow jakiejs szkoly), select ten oferuje kilka jezykow ale jesli ktos stwierdzi ze takigo jezyka jaki chce dodac nie ma w liscie select'a - chce zeby mial mozliwosc dodania nowego jezyka do tej listy, wiem jak to zrobic (nowy formularz wpisujacy jezyk do bazy listy jezykow w bazie danych i odswiezenie strony z glownym formularzem zeby select na nowo odczytal liste jezykow) ale tylko jak wspomialem przez odswiezanie strony glownego formularza - a przez top utrate tych informacji ktore ktos wczesniej wpisal w inne jego pola.... czy ktos ma pomysl jak dodac nowa opcje do select'a bez utraty danych z innych pol? za wszelkie wskazowki z gory wielkie dzieki
|
|
|
18.05.2004, 21:50:19
Post
#2
|
|
Grupa: Postów: 0 Pomógł: Dołączył: -- Ostrzeżenie: (0%) |
Zapisz sobie pola selecta w pliku np. select.dat i oddziel jezyki np * , potem uzywajac explode() zrobisz tablice i petla for wyswietlisz.
|
|
|
18.05.2004, 22:23:06
Post
#3
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 2.02.2004 Ostrzeżenie: (0%) |
[php:1:d6aab2862f]<?php
if ( isset( $_POST['wyslij'] ) ) { if ( $_POST['jezyk'] == "inny" ) { mysql_query( "insert into jezyki ( nazwa ) values ( '".$_POST['nowy']."' )" ) or die( "Nie mogę dodać do bazy danych." ); $_POST['jezyk'] = $_POST['nowy']; } // tutaj akcje jakie ma wykonać już po wszystkim - przejście do innej strony, czy coś takiego } else // Instrukcje gdy formularz wczytywany jest po raz pierwszy { echo( "<form action="".$_SERVER['PHP_SELF']."" method="post"><select name="jezyk">" ); $nazwy_jezykow = mysql_query( "select nazwa from jezyki" ) or die("Nie mogę czytać z bazy danych."); while ( $nazwa_jezyka = mysql_fetch_array( $nazwy_jezykow ) ) { echo( "<option value="$nazwa_jezyka">$nazwa_jezyka</option>" ); } echo( "<option value="inny">Inny język:</option></select>" ); echo( "<input type="text" name="nowy" /><input type="submit" name="wyslij" value="Wyślij" /></form>" ); } ?>[/php:1:d6aab2862f] W tym przykładzie mamy w bazie danych tabelę jezyki, a kolumna nazwa w tej tabeli to rzecz jasna nazwy, które też pobieramy do formularza. W formularzu mamy selecta wczytującego poszczególne pozycje z bazy danych plus dodatkowa pozycja Inny język:, po wybraniu której jako nazwę zostanie wybrana nazwa z pola tekstowego obok, przy czy ta nowa nazwa zostanie dodana to tabeli jezyki. Wybrany język bez względu na to, czy jest on z listy, czy z pola tekstowego, ostatecznie znajdzie się w zmiennej $_POST['jezyk']. |
|
|
Wersja Lo-Fi | Aktualny czas: 23.09.2024 - 01:57 |