Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] zczytywanie parametrow tablicy i wykonywanie polecenia sql
Forum PHP.pl > Forum > Przedszkole
bartlomiejdevi
witam,

mam baze danych i tabele sklep:

id
nazwa
cena
rabat
promocja


i mam jedna funkcje do robienia update w bazie. do tej funkcji dane wysylam tablica, czyli np tak:
$tablica['id'] = 1;
$tablica['nazwa'] = test;
$tablica['cena'] = 2.00;
$tablica['rabat'] = 1;
$tablica['promocja'] = 1;

no i robie update($tablica);

w funkcji update dziala ok jesli przesle wszystkie dane, bo potem moge sobie zczytac z tablicy wszystko pokolei i zrobic update dla kazdego.

  1. UPDATE TABLE SET id=tablica['id'] ..., promocja=$tablica['promocja']


ale co jesli chcialbym np wyslac tylko RABAT i PROMOCJA?

jak z foreachem zrobic w srodku funkcji update sprawdzic ktore zmienne zostaly wprowadzone do $tablica, a potem w poleceniu SQL generowalo tylko te co sa?

wiem, ze mozna to zrobic ifsetem, ale wystarczy, ze do bazy mi dojdzie jakies nowe pole i znowu zabawa ze wszystkim od nowa. probowalem cos z pobieraniem przez foreach, ale slabo mi to wychodzilo

pozdrawiam

chodzi mi po prostu o cos takiego, co zczyta wszystkie parametry z $tablica i bede potem mogl na nich operowac, niezaleznie od takiego jakie beda, bo jakbym robil np
isset($tablica['aaa'] = key) to bym mogl miec tylko ['aaa'] i key, a jak to zrobic automatycznie?

a zalozmy, ze przesle do funkcji ['bbb'] = key2 i jak nie mam isseta to mi tego nie znajdzie...


johnl
  1. $query = 'UPDATE TABLE SET ';
  2. foreach($tablica as $key => $value)
  3. {
  4. $query = $query.$key.' = \''.$value.'\'';
  5. if(each($tablica)) $query = $query.', '; // jesli jest to ostatni element tablicy to nie stawiamy przecinka
  6. }
  7. $query = $query.' WHERE...';
bartlomiejdevi
dzieki, nie wpadlem na to smile.gif
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.