Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MYSQL 4.1.x] INSERT z warunkiem
asterix1983
post
Post #1





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 6.03.2005

Ostrzeżenie: (0%)
-----


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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/withstupidsmiley.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
SongoQ
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Sh4dow
post
Post #3





Grupa: Zarejestrowani
Postów: 569
Pomógł: 0
Dołączył: 17.08.2003
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


sadze ze tu to pomaga wyzwalacze (triggery jesli nie pomylilem niczego (IMG:http://forum.php.pl/style_emoticons/default/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.
Go to the top of the page
+Quote Post
SongoQ
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
elessar
post
Post #5





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 12.05.2003
Skąd: Mikołów

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
SongoQ
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Mozesz jeszcze kombinowac z INSERT INTO ... SELECT ... IF .....
Go to the top of the page
+Quote Post
asterix1983
post
Post #7





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 6.03.2005

Ostrzeżenie: (0%)
-----


moge więc prosić o pomoc w kostrukcji tegoż zapytania w php??
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: 21.09.2025 - 04:40