Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> update kilku komórek w mysql ?
q-est
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 6.04.2004
Skąd: byle skąd

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


("update tabela set komorka1='$dfdfdf' where id='$id'") tak wygląda dla jednego rekordu a jak będzie wyglądało dla kilku?

drugie pytanie: czy te zmienne mają być w pojedyńczym cudzysłowiu?
proszę o szybką odpowiedź...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
hwao
post
Post #2


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




php pocz -> Bazy danych
Go to the top of the page
+Quote Post
mhs
post
Post #3





Grupa: Zarejestrowani
Postów: 764
Pomógł: 3
Dołączył: 30.04.2003

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


Cytat(q-est @ 2004-07-29 14:05:48)
("update tabela set komorka1='$dfdfdf' where id='$id'")  tak wygląda dla jednego rekordu a jak będzie wyglądało dla kilku?

drugie pytanie: czy te zmienne mają być w pojedyńczym cudzysłowiu?
proszę o szybką odpowiedź...

1)
to zalezy - moze wygladac roznie:
  1. UPDATE tabela SET komorka1 = 'zmiana' WHERE id = 1 OR id 2;

lub
  1. UPDATE tabela SET komorka1 = 'zmiana' WHERE id > 1;

lub
  1. UPDATE tabela SET komorka1 = 'zmiana' WHERE id < 1000;


no i jeszcze wiele innych przypadkow tutaj mozna by rozpatrywac

2)
zobacz na ten przyklad:

  1. <?php
  2.  
  3. $this->zapytanie = '
  4. INSERT INTO
  5. publikacje (publikacja_temat, publikacja_plik)
  6. VALUES (\"'.
  7. addslashes(htmlspecialchars($temat)).'\"\"'.
  8. $this->nazwa.'\")';
  9.  
  10. ?>
Go to the top of the page
+Quote Post
aleksander
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 742
Pomógł: 0
Dołączył: 14.12.2003
Skąd: Gdańsk, Trójmiasto

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


  1. UPDATE tabela SET komorka1='$wynik1', [komorka2='$wynik2' [...]] WHERE [...]
Go to the top of the page
+Quote Post
vitae
post
Post #5





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 7.07.2004
Skąd: niewiem

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


Podobne mam pytanie - dlatego pytam tutaj nie zakładając nowego tematu. Otóż mam w bazie rekordy..

Cytat
id | kat1 | kat2
1 | 1 | 1
1 | 1 | 3


I teraz problem jest taki, że chce aby rekordy z wartością kat2 = 1 zmieniły się w kat2 = 3, zaś tam gdzie kat2 = 3 rekordy mają mieć wartość kat2 = 1.

Bo sposobem:

  1. UPDATE tabela SET kat2='1' WHERE kat2='3';
  2. UPDATE tabela SET kat2='3' WHERE kat2='1'


Jak łatwo się domyślić, wszystkie rekordy będą miał wartości kat2 = 1

Jak to rozwiązać? (chyba nie pogmatwałem, bo w praktyce wygląda to dość prosto..)
Go to the top of the page
+Quote Post
tumczasty
post
Post #6





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 2.08.2004
Skąd: Rzeszów

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


użyłbym "wartości pomocniczej" (która w ogóle nie występuje w kolumnie kat2, np. 0):
  1. UPDATE tabela SET kat2='0' WHERE kat2='3'
  2. UPDATE tabela SET kat2='3' WHERE kat2='1'
  3. UPDATE tabela SET kat2='1' WHERE kat2='0'

albo, jeśli chodzi zawsze o liczby 1 i 3, zroziłbym "mykowca":
  1. UPDATE tabela SET kat2=4-kat2 WHERE kat2='1' OR kat2='3'
Go to the top of the page
+Quote Post
favik
post
Post #7





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 18.05.2010

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


Witam,
Mam podobny problem, więc już nie zakładałem nowego tematu. Chciałbym zmienić kilkaset wartości w tabeli, a dokładnie do każdej dopisać z początku i z końca określony ciąg znaków, przy czym w tabeli występują różne losowe wartości. Wyglądać to miało by tak:

ID | klucz
1 | [stała]xxxxxx[stała]
2 | [stała]vvvvvv[stała]
3 | [stała]dddddd[stała]
...
...

Próbuje to zrobić tym sposobem:
  1. UPDATE tabela SET klucz='[stała]$stary_klucz[stała]' WHERE klucz IS NOT NULL;


Czy idę dobrym tropem? Jak pobrać wartość $stary_klucz? Może zrobić to jakoś inaczej?
Zmiana będzie jednorazowa więc kod nie musi być super optymalny.
Go to the top of the page
+Quote Post
maly_swd
post
Post #8





Grupa: Zarejestrowani
Postów: 744
Pomógł: 118
Dołączył: 14.02.2009
Skąd: poziome

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


UPDATE tabela SET klucz=concat('[stała]', klucz, '[stała]') WHERE klucz IS NOT NULL;
Go to the top of the page
+Quote Post

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: 22.08.2025 - 20:31