Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Problem z aktualizacja bazy
Forum PHP.pl > Forum > Przedszkole
tomekmvr
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.
Glarden
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. ?>
Cienki1980
@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. ?>
tomekmvr
dzieki @Cienki1980 nie zauwazylem tych klamr.

Teraz dziala dobrze.
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.