inwob
23.08.2010, 17:54:31
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!
maly_swd
23.08.2010, 20:35:53
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
inwob
23.08.2010, 20:48:20
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ć
ShadowD
23.08.2010, 21:02:23
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...
inwob
24.08.2010, 09:12:23
Takie coś może być?
$poprawkaa = mysql_query("select spotkanie1,spotkanie2,spotkanie3,spotkanie4,spotkanie5,spotkanie6,spotkanie7,spo
tkanie8,spotkanie9,spotkanie10 from kupon where id = ".$kupon[id
].""); for ($o = 0; $o <= 9; $o++) {
mysql_query("update kupon set spotkanie".($o+1)." = ".$poprawka[$o]." where id = ".$kupon[id
].""); }
U mnie dobrze działa
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.