Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zamiana kolejnosci wierszy w tabeli
Forum PHP.pl > Forum > Bazy danych > MySQL
neo1986kk
witam, no wlasnie o co chodzi? Chodzi o to ze mam tabelke id data czynnosc kto
2009-10-20 zrobic ciasto mama
2009-10-21 kupic make tata
2009-10-22 zjesc ciasto ja

id - kolejnosc przypadkowa
Data - zmienia sie co ok 5 minut
Ie zmienia sie czynnosc i osoba.

do rzeczy: jak napisac skrypt w php aby uzytkownik mogl dowolnie zmieniac kolejnosc wykonywanych czynnosci. Chodzi mi o prostote typu przesun wyzej , przesun nizej. Oczywiscie musi sie zmieniac data odpowiednio. Dziekuje za przeczytanie posta i ewentualna pomoc. Pozdrawiam.
wlamywacz
Dodatkowe pole o nazwie order. Użytkownik wpisuje w nie kolejność czyli np. 1,2,3 . W zapytaniu umieść
  1. ORDER BY `order`
i sposób sortowania.
neo1986kk
a nie, nie o to chodzi.
moze to był zły przykład podaj jeszcze raz inny. Ustalmy ze jest jedna ławeczka.

id data rozpoczecia czynność data zakonczenia osoba
1 2009-10-20 13:05 ćwiczenia na ławeczce 2009-10-20 14:30 Jan Kowalski
3 2009-10-20 12:00 cwiczenia na ławeczce 2009-10-20 13:00 Ryszard Malinowski
5 2009-10-20 11:35 ćwiczenia na ławeczce 2009-10-20 11:55 Roman Zagórski

i teraz pan Roman ćwiczył do 12:56 więc tabela zmienia się na:

id data rozpoczecia czynność data zakonczenia osoba
1 2009-10-20 13:06 ćwiczenia na ławeczce 2009-10-20 14:31 Jan Kowalski
3 2009-10-20 12:01 cwiczenia na ławeczce 2009-10-20 13:01 Ryszard Malinowski
5 2009-10-20 11:36 ćwiczenia na ławeczce 2009-10-20 11:56 Roman Zagórski

i sedno sprawy. pan Ryszard nie może przyjść na 12:01 tylko na 13:30 więc kolejność wygląda tak:

id data rozpoczecia czynność data zakonczenia osoba
3 2009-10-20 13:35 cwiczenia na ławeczce 2009-10-20 14:36 Ryszard Malinowski
1 2009-10-20 12:01 ćwiczenia na ławeczce 2009-10-20 13:31 Jan Kowalski
5 2009-10-20 11:35 ćwiczenia na ławeczce 2009-10-20 11:55 Roman Zagórski


Czas jest przedłużany automatycznie jeśli uzytkownik nie kliknął "zakończ ćwiczenia" więc nie mogę poprawiać czasu.
Chodzi mi o to, aby to co przedstawiłem drogą krok po kroku, działo się automatycznie po kliknięciu na przycisk "przesuń nad" lub "przesuń pod" godziny muszą się wtedy też zmieniać automatycznie nie tylko osoby. Myślę ze to juz jest bardziej zrozumiałe.
pozdrawiam
phpion
W takim razie zmieniaj daty (rozpoczęcia/zakończenia) by ustawiać kolejność rekordów, a przy wyświetlaniu sortuj je według daty.
neo1986kk
ale ja tak naprawde w przyszlosci nie bede znal daty więc nie moge jej przyrównać do niczego wymyśliłem to sobie tak że pobieram 3 rekordy id, id-1, id+1. Mam z id-1 pobieram date zakonczenia i ustawiam ją jako date rozpoczęcia dla id, a z id+1 pobieram date rozpoczecia i przyrownuje ją do daty zakończenia dla id. Jako date rozpoczecia w id-1 ustawiam date zakończenia id, a date zakonczenia jako date rozpoczęcia w id+1. Przy update ustawiam że id w id-1= id z id a id w id ustawiam jako id-1. W sumie na rozum wychodzi to dobrze, ale w praktyce sie niestety nie sprawdza.

  1. $zapytanie77 = "UPDATE `plan` SET `id`='$idb', `datar`='$pocza', `koniec`='$pocza' where `id`='$ida'";
  2. $idzapytania77 = mysql_query($zapytanie77);
  3. if ($zapytanie77){ echo "OK<br>"; };
  4.  
  5. $zapytanie88 = "UPDATE `plan` SET `id`='$idc', `datar`='$kona', `koniec`='poczb' where `id`='$idb'";
  6. $idzapytania88 = mysql_query($zapytanie88);
  7. if ($zapytanie88){ echo "OK<br>"; };
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.