Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL] Problem z aktualizacja bazy
tomekmvr
post 16.03.2008, 12:39:44
Post #1





Grupa: Zarejestrowani
Postów: 116
Pomógł: 2
Dołączył: 11.09.2006

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


Witam

Mam wiele inputów, one sa w petli.

  1. <?php
  2. echo '<form action="test.php" method="post">';
  3.  
  4. while($wiersz = @mysql_fetch_array($wykonaj))
  5. {
  6. echo '<input type="text" name="nazwa['.$wiersz['id'].']" value="'.$wiersz['wartosc']." />';
  7. }
  8.  
  9. echo '<input type="submit" value="OK" /></form>';
  10. ?>


przesylam je do pliku test.php
  1. <?php
  2. foreach($_POST['nazwa'] as $id_rekordu=>$wartosc) #odbieram je w ten sposob
  3. ?>


Chcialbym teraz przeslac te dane do bazy, ale nie wiem jak to zrobic zeby przeslac je wszystkie. Gdy probowalem dodac je za pomoca tkiego sposobu to dodawala mi sie tylko ostatnia wartosc.
  1. <?php
  2. foreach($_POST['nazwa'] as $id_rekordu=>$wartosc)
  3. $zapytanie = "update tabela set temat=".$wartosc." where id=".$id_rekordu."";
  4. $idzapytania = mysql_query($zapytanie);
  5. ?>


prosze o pomoc.
Powód edycji: Edytowałem nazwe tematu (ociu)


--------------------
Go to the top of the page
+Quote Post
Glarden
post 16.03.2008, 12:43:34
Post #2





Grupa: Zarejestrowani
Postów: 153
Pomógł: 2
Dołączył: 28.05.2007
Skąd: Stamtąd

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


Bo foreach to pętla działająca dla wszystkich elementów tablicy, w argumencie masz dać nie element, tylko tablicę. Więc nie:
  1. <?php
  2. foreach($_POST['nazwa'] as $id_rekordu=>$wartosc) {//costam
  3. }
  4. ?>

tylko:
  1. <?php
  2. foreach($_POST as $id_rekordu=>$wartosc)
  3. ?>


Ten post edytował Glarden 16.03.2008, 12:44:00


--------------------
Raz, dwa, trzy, baba Jaga patrzy!
http://trelemorele.cba.pl
Go to the top of the page
+Quote Post
Cienki1980
post 16.03.2008, 13:30:07
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


@Glarden: piszesz głupoty. Jakbyś zwrócił uwagę na pola input to byś zauważył, że $_POST['nazwa'] jest tablicą.

@tomekmvr: jest prawie dobrze .. musisz dodać tylko klamry przy foreach, czyli:
  1. <?php
  2. foreach($_POST['nazwa'] as $id_rekordu=>$wartosc)
  3. {
  4.  $zapytanie='...';
  5.  $id_zapytania=mysql_query($zapytanie);
  6. }
  7. ?>


--------------------
404
Go to the top of the page
+Quote Post
tomekmvr
post 16.03.2008, 14:54:22
Post #4





Grupa: Zarejestrowani
Postów: 116
Pomógł: 2
Dołączył: 11.09.2006

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


dzieki @Cienki1980 nie zauwazylem tych klamr.

Teraz dziala dobrze.


--------------------
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: 14.08.2025 - 00:34