Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: aktualizacja rekordów
Forum PHP.pl > Forum > Bazy danych > MySQL
inwob
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
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
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
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
Takie coś może być?
  1. $poprawkaa = mysql_query("select spotkanie1,spotkanie2,spotkanie3,spotkanie4,spotkanie5,spotkanie6,spotkanie7,spo
    tkanie8,spotkanie9,spotkanie10 from kupon where id = "
    .$kupon[id]."");
  2. $poprawka = mysql_fetch_assoc($poprawkaa);
  3. rsort($poprawka);
  4. for ($o = 0; $o <= 9; $o++) {
  5. mysql_query("update kupon set spotkanie".($o+1)." = ".$poprawka[$o]." where id = ".$kupon[id]."");
  6. }


U mnie dobrze działa winksmiley.jpg
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.