Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Konstrukcja zapytania do bazy MySQL, z dynamicznymi zmiennymi
Fallout
post
Post #1





Grupa: Zarejestrowani
Postów: 154
Pomógł: 0
Dołączył: 17.12.2003
Skąd: Olsztyn

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


Witam,

Nie jestem pewien czy ten post nadaje sie do php czy do MySql ale w sumie obydwa są powiązane ze soba nierozlacznie wiec nie krzyczec jakby co (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

mam taka funkcje:

  1. <?php
  2.  
  3. function _zmien()
  4. {
  5. $co = func_get_arg(0);
  6.  $id = func_get_arg(1);
  7.  $stare = func_get_arg(2);
  8.  $nowe = func_get_arg(3);
  9.  
  10. switch ($co)
  11. {
  12.  case 'cechy':
  13.  $sql = &#092;"UPDATE $co SET (nazwa_cechy = $nowe WHERE nazwa_cechy = $stare AND id_cn = $id\";
  14.  break;
  15.  
  16.  case 'producenci':
  17.  break;
  18. }
  19.  
  20.  include 'config.inc.php';
  21.  $p = mysql_connect($host,$user,$pass)   or Die($blad['E_BASE']);
  22.  $db = mysql_select_db($baza,$p)  or Die($blad['E_DB']);
  23.  $wynik = mysql_query($sql,$p)  or Die($blad['E_QUERY_UPD']);
  24. }
  25.  
  26. ?>


Do tej funkcji jest np takie odwolanie:

  1. <?php
  2.  
  3. (...)
  4.  case 'upd':
  5.  {
  6. $tab_nazwy = $_POST['nazwy'];
  7. $tab_dane = $_POST['dane'];
  8. $tab_idx = $_POST['idx'];
  9. foreach ($tab_nazwy as $index => $wartosc)
  10. {
  11. $oryg = $tab_dane[$index];
  12. $id = $tab_idx[$index];
  13. if ($oryg!=$wartosc) _zmien($co,$id,$oryg,$wartosc);
  14. //echo \"ID: $id, Było: $oryg , Jest: $wartosc\".\"n\";
  15. }
  16.  }
  17.  break;
  18. (...)
  19.  
  20. ?>


Dodam ze:
- zmienna $co zwraca nazwe tabeli do ktorej maja byc zaktualizowane dane
- zmienna $id daje nam numer wiersza w tabeli
- zmienna $stare zwraca stara wartosc danego pola w bazie (w niej jedyna nadzieja)
- zmienna $nowe zwraca nowa wartosc tego pola (moze byc takze jako nowe id)

Szkopul tkwi w tym, ze nie wiem jak zadac/sformulowac zapytanie do bazy aby aktualizowalo mi te pola ktore maja wartosc $stare o nowa wartosc $nowe. Problem w tym ze np tabela cechy (id_cn, nazwa_cechy) to wiadomo co gdzie bedzie ale juz
np w tabeli producenci (id_producent, nazwa, www, foto) nie wszystkie dane moga byc aktualizowane...

Mam nadzieje ze zrozumiale nakreśliłem mój problem, jeśli jakies watpliwości, lub potrzebne wycinki kodu to wrzuce (nie chcialem tutaj wrzucac prawie 600 lini kodu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) )

Z gory dziekuje za (p)odpowiedzi..
Marcin
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 23.08.2025 - 14:00