Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MYSQL 4.1.x] INSERT z warunkiem
Forum PHP.pl > Forum > Bazy danych > MySQL
asterix1983
Mam taki oto problemik i nie wiem jak go zrealizować.
Opis:


- tabela
(
kol1 - int,
kol2 - varchar,
kol3 - data [start],
kol4 - data [koniec],
kol5 - set [opcja1=jest,opcja2=nie ma],
kol6 - set [opcja1=do realizacji,opcja2=realizacja,opcja3=zrealizowano]
)

Teraz jak stworzyć inserta który ma na za zadnie wprowadzić dane wedłóg warunków:
1) - jeżeli kol6=opcja3 to => kol5=opcja1
2) - jeżeli kol6=opcja2 lub kol6=opcja3 to => kol5=opcja2
3) - jeżeli kol5=opcja2 to nie ma możliwości wprowadzenia wartości do kol4

Następnie w jaki sposób zaadaptować zaadaptować do formularza, w którym by automatycznie (w zależności od warunków zadanych wyżej) pojawiały sie odopowiednie kolumny, czyli mamy coś takiego:

Początkowe możliwości do wpisania w formularzu:
kol1 jest automatyczne i niewidoczne dla os.wpisującej,
kol2 możliwość wpisania wart.
kol3 automatycznie (stosuje timestamp) jednak widoczne dla os.wpisującej
kol6 typu select
kol5 jeżeli wartość podana w kol6=opcja1 wtedy pojawia się wartość = kol5.opcja1
w przeciwnym wypadku jest wyświetlana wartość kol5.opcja2
kol4 możliwość wpisania pojawia się w przypadku gdy kol5=1

Niestety nie znam JavyScript sad.gif, która najprawdopodobniej jest potrzebna do zbudowania tegoż formulaża. Znajomość PHP4 -troche ponad podstawowy(ale moge się mylić na moją niekożyść)

Proszę o pomoc i rozgrzeszenie za taki problem withstupidsmiley.gif
SongoQ
Troche dziwny problem, bo masz wiele mozliwosci i wydaje mi sie ze w MySQLu tego nie zrobisz. Czyli warunki zostaja ci w php. Moze da sie zrobic to przez INSERT ze zbioru SELECT.
Sh4dow
sadze ze tu to pomaga wyzwalacze (triggery jesli nie pomylilem niczego smile.gif ) One sa jedynym rozwiazaniem, Mysql posiada ta mozliwosc od wersji 5.0.7 (chyba), napewno w finalnej wersji dzialaja poprawnie.
Wiecej nie powiem bo sam szukam dokladnych opisow tego mechanizmu.
SongoQ
Cytat
Wiecej nie powiem bo sam szukam dokladnych opisow tego mechanizmu.

Trigger to jest zwykla funkcja na bazie danych uruchamiana na insert, update i delete. Jesli chesz poczytac wiecej to radze zobaczyc do manuala Postgresa tam dobrze sa te mechanizmy opisane. Jeszcze do MySQLa nie patrzylem ale mysle, ze skladnia bedzie podobna albo identyczna bo troche glupie by bylo z ich strony odchodzic od czegos co jest bardzo dobrze dopracowane.
elessar
Tylko ze z tego co pamietam to w MYSQL 4.1.x nie ma triggerow wiec proponowanie ich jest bezsensu. Pozostaje tylko skonstruowanie zapytania w php.
SongoQ
Mozesz jeszcze kombinowac z INSERT INTO ... SELECT ... IF .....
asterix1983
moge więc prosić o pomoc w kostrukcji tegoż zapytania w php??
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.