Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [sq] zmiana wielu pól
Forum PHP.pl > Forum > Bazy danych > MySQL
ColdFire.pl
Witajcie.
Mam sobię pewną tabelę, w niej pola:
id,var,value i przykładowe dane:

id,var,value
1,foo,bar,
2,lorem,ipsium
3,asd,dsa
4,a,b

Pojawił się jednak taki problem, że chciałbym jednym zapytaniem zmienić wszystkie wartości value nie zmieniając var. Tzn po wykonaniu zapytania chciałbym mieć:
1,foo,nowy_bar
2,lorem,nowy_ipsium
3,asd,nowy_dsa
4,a,nowy_b
....Przy 30 (i więcej) wpisach robienie do każdego update będzie mocno nieefektywne- czy jest na to jakiś inny sposób?
mike
  1. UPDATE tabela SET value = CONCAT( 'nowy_', value );

:?:
ColdFire.pl
hmm.... fakt, napisałem to w troszkę mylący sposób- nie chodzi o dodanie prefiksu nowy_ ,a o wstawienie nowych wartości-
nowe wartości przychodzą z $_POST['nazwa_danego_var`u'];
Nostress
Zmien $_POST['nazwa_danego_var'] na $_POST['vars']['nazwa_danego_var'].

Pozniej pętla:

  1. <?php
  2. foreach( $_POST['vars'] as $key => $value )
  3. {
  4.  mysql_query( 'UPDATE tabela SET value=''.$value.'' WHERE var=''.$key.''' );
  5. }
  6. ?>
ColdFire.pl
czyli jednak nie da się tego zamienić w jednym zapytaniu, tak jak myślałem- no trudno- dzięki panowie 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.