PHP i MySQL aktualizacja dużej ilości danych

Witam,

Co w poniższej części kodu jest nie tak??:>

$wynik4= @mysql_query("select * from dziennik ") or die ("zla tabela 1");


while($dziennik=mysql_fetch_assoc($wynik4)){


$b=1;


do{

$id='pkt'.$dziennik['login'].$b;


$$id=$_POST[$id];


$login=$dziennik['login'];




mysql_query("UPDATE dziennik SET ".$b."='".$$id."' WHERE login='.$login.' ")


    or die('

Błąd zapytania 1
'); $b=$b+1; }while($b<16); }[/code]

A co tym chcesz uzyskać?

"SET “.$b.” =

w zmiennej $b masz liczby - tak nazywają się kolumny w Twojej tabeli?

I jaki jest cel używania konstrukcji $$id? Nie możesz używać np. $id2?

Poza tym konstrukcja

$$id=$_POST[$id];

jest niebezpieczna.

Tak, dokładnie tak się nazywają.

Dodane 24.11.2012 (So) 1:19

Ta instrukcja przechowuje dane poszczególnych kratek tabeli.

To wg mnie bardzo słaba nazwa dla komórek tabeli. Spójrz jak wygląda zapytanie do bazy: UPDATE tabela SET 5 = 1278 WHERE 98 = 654654; Wszystko logiczne ;]

Zmienne z podwójnym dolarem to odwołanie się do zmiennych globalnych. Nie widzę potrzeby i sensowności takiego rozwiązania.

Jeśli chcesz, żebyśmy Ci pomogli to musisz powiedzieć co chcesz osiągnąć, bo sami sie nie domyślimy…

Po “WHERE” nie ma cyferek, a są konkretne nazwy :smiley:

Już tłumaczę co chcę osiągnąć, mianowicie.

Na pierwszej stronie łączymy się z bazą gdzie są kolejno nazwane kolumny: login, 1-15.

I wszystko wyświetlamy w formie tabeli gdzie dane są wpisane w polach formularza.

Id poszczególnych pól są odpowiednio ponazywane tak aby dane nie zostały nadpisane czy nazwa poszczególnych “kratek” nie była taka sama.

Po kliknięciu przycisku “Zaktualizuj” wykonuje się kod przedstawiony powyżej.

Ja się poddaję - nic nie zrozumiałem z tych wyjaśnień. :frowning:

Mamy dwie strony PHP:

  • zwracająca dane pobrane z bazy do pól formularza z type=“text” tak aby użytkownik mógł je modyfikować

  • posiada przycisk wysyłający pola formularza do strony 2

  • pobiera dane ze strony 1 (z pól formularza poprawionych bądź nie zmienionych przez użytkownika)

  • następnie aktualizuje dane łącząc się podaną tabelą