![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 0 Dołączył: 2.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam
mam table z 10 rekordami. od id1 do id10 (id1, id2, id3 itd) Chce zrobic tak ze jesli id6 jest puste a id7 jest pelne to id6 ustawia sie takie jak id7 a id7 przybiera wartosc 0. Gdy mamy tabele id1 - 4 id2 - 5 id3 - 6 id4 - 0 id5 - 0 id6 - 7 id7 - 0 id8 - 8 id9 - 0 id10 - 9 To tabela przyjmie wartość id1 - 4 id2 - 5 id3 - 6 id4 - 7 id5 - 8 id6 - 9 id7 - 0 id8 - 0 id9 - 0 id10 - 0 Pozdrawiam! |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 744 Pomógł: 118 Dołączył: 14.02.2009 Skąd: poziome Ostrzeżenie: (0%) ![]() ![]() |
Chce zrobic tak ze jesli id6 jest puste a id7 jest pelne to id6 ustawia sie takie jak id7 a id7 przybiera wartosc 0.
update tabelka set id6=id7 , id7=0 where id6 is null and id7 is not null |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 0 Dołączył: 2.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
tak ale jesli id6 jest pelne a id5 i id4 puste to id4 przybierze wartosc id6 a nie id5
Przyklad: Przed: id4 = 0 id5 = 0 id6 = 2 Po: id4 = 2 id5 = 0 id6 = 0 Albo jakąś ciekawą pętle w php można zrobić tylko nie mam pomysłu jak by to dobrze wykonać Ten post edytował inwob 23.08.2010, 20:49:33 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 333 Pomógł: 137 Dołączył: 25.03.2008 Skąd: jesteś?? Ostrzeżenie: (0%) ![]() ![]() |
Pobierasz wszystko, wywalasz wszystkie równe 0 i zapisujesz kolejno do bazy. Sprawdzasz ilość rekordów przed i dopełniasz zerami do takiej samej ilości.
Inaczej: 1. pobieramy 2. sprawdzasz ilość 3. czyścisz wszystko 4. Pętla 5. jeśli id==0 #4, jeśli nie #6 6. zapisujesz jako kolejny wpis 7. #4 Gwarantuje, że lepszej metody nie znajdziesz - sprawdzanie wszystkiego po kolej i przesuwanie to głupota... Ten post edytował ShadowD 23.08.2010, 21:06:12 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 0 Dołączył: 2.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Takie coś może być?
U mnie dobrze działa (IMG:style_emoticons/default/winksmiley.jpg) Ten post edytował inwob 24.08.2010, 09:17:03 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 23:32 |