![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 27.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Mam formularz w Moje konto z lista moich rezerwacji i te ktore pozaznaczam po wyslaniu Usun usuwa mi z bazy a chcialbym dodatkowo dopisac do tego ze jesli usunie mi jakas rezerwacje to sprawdzi dodatkowo czy istanieja takie same gdzie status jest Wait a nie ok i jesli bedzie wait to da OK tej o nizszym ID_rezerwacja
ID_rezerwacja ID_sala ID_uzytkownik data_rez od_godz do_godz nr_sali status
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Administratorzy Postów: 1 552 Pomógł: 211 Dołączył: 7.07.2009 Skąd: NJ ![]() |
Musisz dopisać coś w tym guście (pseudokod):
Kod if (usunięto pozycję z bazy) { while(istnieje pozycja taka jak wyżej gdzie status = "Wait") mysql_query(UPDATE tę pozycję aby status = "ok"); } Jeżeli dobrze Cię rozumiem to tak powinno to wyglądać. I tak na marginesie staraj się korzystać z przecinków, bo ciężko się czyta Twój post ![]() Ten post edytował Daiquiri 1.10.2010, 09:42:38 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 27.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
spoko ale możesz jaśniej napisać jak sprecyzowac ten warunek jeśli usunięto ?
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 380 Pomógł: 59 Dołączył: 24.04.2010 Skąd: London Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 27.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
tego while dalej nie moge ogarnac
![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 380 Pomógł: 59 Dołączył: 24.04.2010 Skąd: London Ostrzeżenie: (0%) ![]() ![]() |
Cytat e jesli usunie mi jakas rezerwacje to sprawdzi dodatkowo czy istanieja takie same gdzie status jest Wait yyy... takie same? znaczy jakie? -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 27.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
na dany dzien i dana h moze byc kilka zgloszonych rezerwacji z tym ze roznia sie ID_rezerwacja ID_uzytkownik oraz Status , jesli sa 4 osoby chetne to ta o mniejszym id_rezerwacja ma status OK a pozstale Wait jesli usune ta z OK to druga osoba w kolejce ma przeskoczyc na status OK.
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 380 Pomógł: 59 Dołączył: 24.04.2010 Skąd: London Ostrzeżenie: (0%) ![]() ![]() |
Pisane na szybko z palca, ale powinno Ci zobrazować. Pozdrawiam Ten post edytował lord2105 1.10.2010, 11:04:38 -------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Administratorzy Postów: 1 552 Pomógł: 211 Dołączył: 7.07.2009 Skąd: NJ ![]() |
while - w moim przykładzie: rób coś dopóki warunek jest spełniony. Innymi słowy (pseudokod):
Kod while(SELECT * FROM rezerwacje WHERE status = "Wait") { // dopóki istnieją pozycje, które mają w statusie "wait" (możesz oczywiście dodać jeszcze inne warunki) mysql_query(UPDATE ....); //wykonuj UPDATE tych pozycji zamieniając status z "wait" na OK } @lord2105 Nie proponowałam "przelecenia" wszystkich rekordów, które mają wait, tylko tych które spełniają wszystkie warunki rekordu usuniętego + wait. Ten post edytował Daiquiri 1.10.2010, 12:01:01 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 380 Pomógł: 59 Dołączył: 24.04.2010 Skąd: London Ostrzeżenie: (0%) ![]() ![]() |
@Daiquiri powiedz mi po co ma lecieć wszystkie rekordy które mają wait jak on chce zmienic na OK tylko ten który jest większy od usuniętego?
-------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 27.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
troche nie tak , trzeba jeszcze sprawdzic czy istenieje kilka takich rezerwacji bo chechkbox wyswietla tylko moje jak usunie to na koncie drugiego uzytkownika tam gdzie bylo wait zmienia sie na ok
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Administratorzy Postów: 1 552 Pomógł: 211 Dołączył: 7.07.2009 Skąd: NJ ![]() |
Istnieje tylko jedna pozycja, która spełnia ten warunek? Tj. jak ja usuwam swoją pozycję to u innego użytkownika "wait" ma się zamienić na "OK" i taka pozycja jest tylko jedna (ta z "wait")? Jeżeli tak to wystarczy sprawdzić czy istnieje rekord o parametrach tego usuniętego, który ma status ustawiony na "wait" i wtedy zrobić update. Jeżeli pozycji jest kilka i wszystkie mają być zamienione to pozostaje Ci jakiś rodzaj pętli
![]() |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 27.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
o to chodzi , tylko nie wiem jak to uchwycic ze ma parametry tego usunietego , mozesz mi to rozpisac ?
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Administratorzy Postów: 1 552 Pomógł: 211 Dołączył: 7.07.2009 Skąd: NJ ![]() |
Jeżeli masz
Kod "DELETE FROM rezerwacje WHERE numer_rezerwacji = '123' AND status = 'ok'" to szukasz pozycji, która ma ten sam numer rezerwacji, ale status 'wait', czyli: Kod "UPDATE rezerwacje SET status = 'ok' WHERE numer_rezerwacji = '123'" Tak by to mniej więcej wyglądało w pseudokodzie ![]() Ten post edytował Daiquiri 1.10.2010, 12:26:04 |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 27.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
inny nr rezerwacji :s
ID_rezerwacja ID_sala ID_uzytkownik data_rez od_godz do_godz nr_sali status 465 1 3 2010-10-30 07:00:00 01:45:00 1 Wait 464 1 4 2010-10-30 07:00:00 01:45:00 1 OK Jak widzisz sa to rezerwacje na ten sam dzien i godzine Uzytkownik o id 4 pierwsyz zarezerowal i ma dlatego OK Jesli w swoim koncie usunie ta rezerwacje to na koncie uzytkownika ID 3 zmieni sie status z wait na ok |
|
|
![]()
Post
#16
|
|
![]() Grupa: Administratorzy Postów: 1 552 Pomógł: 211 Dołączył: 7.07.2009 Skąd: NJ ![]() |
Jeżeli ID do update'u jest zawsze jeden mniejsze to zrób UPDATE WHERE ID_rezerwacja = ID tego usuniętego -1
![]() Cytat "UPDATE rezerwacje SET status = 'ok' WHERE ID_sala = '$ID_sala' AND data_rez = '$data_rez' "; gdzie $ID_sala i $data_rez to dane wyciągnięte z usuniętej pozycji. Ten post edytował Daiquiri 1.10.2010, 13:05:42 |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 27.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
dalej nie ogarniasz
![]() rez1 zaznaczone rez2 rez3 zaznaczone usun jak wcisne usun, usuwa mi zaznaczone , np usunie rez1 i sprawdzi czy nie istnieja inne takie same rezerwacje jesli tak to tej o nizszym id_rezerwacja w statusie da z wait na OK , czy teraz czaisz ? |
|
|
![]()
Post
#18
|
|
![]() Grupa: Administratorzy Postów: 1 552 Pomógł: 211 Dołączył: 7.07.2009 Skąd: NJ ![]() |
Chcesz to zrobić bezpośrednio w miejscu gdzie robisz "DELETE"? Nie bardzo widzę jak
![]() Kod while(są pozycje do usunięcia) { mysql_query (SELECT * FROM rezerwacje WHERE...); //pobierasz wszystkie dane dotyczące pozycji, którą chcesz usunąć np. do tablicy $usuwanaRezerwacja[] mysql_query (DELETE FROM rezerwacje WHERE ID_rezerwacja = '1234'); // usuwasz pozycję z checkboxa wg dowolnych warunków if (istnieje pozycja pobierana zapytaniem "SELECT * FROM rezerwacje WHERE ID_sala = '$usuwanaRezerwacja[0]' AND data_rez = '$usuwanaRezerwacja[1] ";) { // powyzejwstawiasz dowolną ilość warunków, które będą identyfikować zmienną mysql_query(UPDATE rezerwacje SET status = 'ok' WHERE ID_sala = '$usuwanaRezerwacja[0]' AND data_rez = '$usuwanaRezerwacja[1]' "; } }// koniec głównego while Jeżeli chcesz się upewnić, że zmieni Ci pierwszą po usuwanym rekordzie rezerwację ze statusem "wait", dodaj po prostu sortowanie po ID_rezerwacji do zapytania) Ten post edytował Daiquiri 1.10.2010, 13:38:32 |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 380 Pomógł: 59 Dołączył: 24.04.2010 Skąd: London Ostrzeżenie: (0%) ![]() ![]() |
Czy rozumiesz ten kod @majsterpstryk W czym problem? Ten post edytował lord2105 1.10.2010, 15:03:50 -------------------- |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 27.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 04:13 |