Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]update
Forum PHP.pl > Forum > Przedszkole
byczek1984
Witam
Mam problem z procedura UPDATE. Przedstawie krotki przykladowy kod

  1. $number=3;
  2. FOR($i=0; $i<$number, $i++)
  3. {
  4. echo $row[$i]; //tutaj wyswietla mi cyfry 1,2,3
  5. $query="UPDATE nazwa_tabeli set kolumna=$row[$i] where id=2";
  6. mysql_query($query);
  7. }

I tutaj ten UPDATE podmienia mi, ale zamiast podmienic na 3 cyfry (1,2,3) podmienia mi tylko na ostatnio, czyli 3. Jak zrobic zeby podmienil mi na 3 wszystkie cyfry, czyli 1,2,3.
Dzieki
nospor
przeciez za kazdym razem podmieniasz ten sam rekord. nic wiec dziwnego, ze na koniec bedzie mial on ostatnio wprowadzoną wartosc

przenosze na przedszkole
janusz85
Popraw warunek przy WHERE. A tak profilaktycznie dorzuć jeszcze cudzysłowy.
Fifi209
Cytat(janusz85 @ 4.08.2009, 09:48:28 ) *
Popraw warunek przy WHERE. A tak profilaktycznie dorzuć jeszcze cudzysłowy.


Chyba go nie zrozumiałeś. winksmiley.jpg
Co do profilaktycznych cudzysłowów...jeżeli będą tam liczby to nie widzę potrzeby aby obciążać serwer mysql konwertowaniem na int...
byczek1984
Wiec wie ktos jak zrobic zeby podmienilo mi 3 cyfry a nie 1 questionmark.gif?
Andaramuxo
Najpierw zamienia na 1, później na 2, a w finale na 3, czego Ty chcesz? Ale te 3 cyfry maja być po przecinku?
Fifi209
Cytat(byczek1984 @ 4.08.2009, 10:15:40 ) *
Wiec wie ktos jak zrobic zeby podmienilo mi 3 cyfry a nie 1 questionmark.gif?


Najpierw zastanów się jak działa pętla for. Powiedz dokładniej co chcesz uzyskać.
byczek1984
Chce zeby w rekordzie gdzie zrobie UPDATE bylo 1,2,3 , wiem jak dzial petla for, ze ona mi tylko podmieni na ostania cyfre czyli 3. dlatego pisze tutaj zeby ktos mi pomogl.
nospor
Cytat
dlatego pisze tutaj zeby ktos mi pomogl.
Nie napisales od razu o co ci chodzi, pokazales kod co robi zupelnie co innego, wiec sie nie denerwuj. ludzie chca ci pomoc, ale jak nie wiedzą o co ci chodzi to ciezko bedzie.

Cytat
Chce zeby w rekordzie gdzie zrobie UPDATE bylo 1,2,3
To raz, ze pole musi byc typu tekstowego, np. VARCHAR lub TEXT, a dwa ze musisz uzyc funckcji CONCAT_WS. wiecej masz w manualu mysql.

ps: a nie mozesz polaczyc tych liczb w php, a potem juz ciag 1,2,3 zapisac od razu do bazy?
Fifi209
o coś takiego chodzi?

  1. <?php
  2.  
  3.    $x;
  4.    
  5.    for ($i=1; $i < 4; $i++)
  6.        $x[] = $i;
  7.        
  8.    $sql = 'UPDATE nazwa_tabeli set kolumna="'.implode(',', $x).'" where id=2';
  9.    
  10.    echo $sql;
  11.    
  12. ?>
byczek1984
Aha no faktycznie, polacze a potem zapisze do bazy danych , dzieki

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