Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: prosze o pomoc przy update danych
Forum PHP.pl > Forum > Przedszkole
krystianl
Witam,

mam na swojej stronie formularz w ktorym znajduja sie m.in pola checkbox:
<INPUT TYPE="checkbox" NAME="aktywacja1" VALUE="aktywna" >
<INPUT TYPE="checkbox" NAME="aktywacja2" VALUE="aktywna" >
<INPUT TYPE="checkbox" NAME="aktywacja3" VALUE="aktywna" >
...............

kazda informacja z checkbox jest zapisywana do bazy po ID jako kolejny wiersz,
problem tkwi w tym, jak zapisac aby mozna bylo zaktualizowac pole AKTYWACJA w kazdym wierszu w bazie.
Jak zrobie takie zapytanie to zapisze sie w polu aktywacja wartosc z checkboxa "aktywna"
  1. $zapytanie = "UPDATE tablica SET aktywacja='$aktywacja1' WHERE id='$id'";
  2. $wykonaj = mysql_query ($zapytanie);


Ale jak zrobic aby za jednym update zaktualizowaly sie dane z checkboxow we wszystkich wierszach w bazie.

Probowalem to zrobic w petli for:
  1. For ($i=1; $i<=$wartosc_ostatniego_wiersza; $i++) {
  2. $zapytanie = "UPDATE tablica SET aktywacja='$aktywacja$i' WHERE id='$id'";
  3. $wykonaj = mysql_query ($zapytanie);
  4. }


ale w tym zapisie aktywacja='$aktywacja$i' jest cos nie tak sadsmiley02.gif
zamiast pobrac dane z checkboxa to wpisuje w tablicy w polu aktywacja wartosc $i

Pozdrawiam i prosze o pomoc.
SongoQ
Mozesz to zrobic przez IN - w pewnych przypadkach jest nieoptymalne ale mozesz wykorzystac.

  1. UPDATE tabela SET pole = 'wartosc' WHERE Id IN (id1, id2, id3,...idn)
AxZx
  1. <?php
  2. For ($i=1; $i<=$wartosc_ostatniego_wiersza; $i++) {
  3. $zapytanie = &#092;"UPDATE tablica SET aktywacja= '\".${\"aktywacja\".$i}.\"' WHERE id='$id'\";
  4. $wykonaj = mysql_query ($zapytanie);
  5. }
  6. ?>
SongoQ
@AxZx Nie wiem czy wiesz ale tak mozesz "zajechac" baze danych.
nospor
Ale i tak to zapytanie jest bezzsensu, bo zawsze do teo samego rekordu i do tego samego pola wkładane są kolejne wartości. To prościej wstawić odrazu ostatnią wartość- na to samo wyjdzie.
POwinno chyba coś się zmieniać id lub pole w rekordzie.
@krystianl wyjaśnij dokładnie co to ma robić
AxZx
sorki, poprawilem tylko zapis smile.gif
krystianl
Wstawilem kod ktory podal AxZx i chyba dziala smile.gif

Jeszcze sprawdze dokladniej czy jest OK
nospor
no tak, ale przy tej konstrukcji nadpisujesz ciągle tę samą kolumnę w tym samym rekordzie. petla wiec nie potrzebna. Wystarczy dać:
  1. <?php
  2.  
  3. $zapytanie = &#092;"UPDATE tablica SET aktywacja= '\".${\"aktywacja\".$wartosc_ostatniego_wiersza}.\"' WHERE id='$id'\";
  4. $wykonaj = mysql_query ($zapytanie);
  5.  
  6. ?>
krystianl
Wielkieeee dzieki smile.gif

Wszystko dziala

Pozdrawiam
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.