Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] zczytywanie parametrow tablicy i wykonywanie polecenia sql
bartlomiejdevi
post 5.05.2011, 18:30:59
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 5.05.2011

Ostrzeżenie: (0%)
-----


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


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
johnl
post 5.05.2011, 20:22:26
Post #2





Grupa: Zarejestrowani
Postów: 9
Pomógł: 3
Dołączył: 4.05.2011

Ostrzeżenie: (0%)
-----


  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...';
Go to the top of the page
+Quote Post
bartlomiejdevi
post 5.05.2011, 20:38:20
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 5.05.2011

Ostrzeżenie: (0%)
-----


dzieki, nie wpadlem na to smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 09:55