Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Masowe pobranie rekordów z MySQL i je zapisanie do innej tabeli (z możliwością ich edycji).
Forum PHP.pl > Forum > Przedszkole
Giluś
Cześć, pobieram na stronie www, około 30-50 rekordów w formie:


ID Nazwa Flaga Opis -> tutaj jest z formą edycji (pole input, a tamte 3 pierwsze to tylko wyświetlenie)..


I teraz po naciśnięciu przycisku "OK" doda mi do innej tabeli pola (IDu, Opis, Last).

IDu -> ID tego rekordu z góry.
Opis -> to, to pole z możliwością edycji.
Last -> zmienna która grupuję te wszystkie rekordy (później robię Where last = :cos)

Ale mam problem z tym, że jak robię normalny formularz to przy kliknięciu OK dodaje się tylko 1 rekord, a pozostałe nie dodają się, Pole Last to zmienna która jest przypisana danej sesji dodawania time(); i ona jest stałą dla wszystkich tych rekordów..


W jaki sposób mam zrobić tak aby dodać wszystkie rekordy i one były poprawnie dodane, bo mi tak jak wspomniałem dodaje się tylko jeden rekord ?.


Pozdrawiam i z góry bardzo dziękuje..
nospor
@Giluś, jesteś na forum od jakiegoś czasu i nadal wierzysz we wróżki? Naprawdę myślisz, że my widzimy Twoj kod bez pokazania go nam?? Ja rozumiem, że osoba z jednym postem może tak myśleć, ale Ty??
john_doe
możesz pokazać kod?
Giluś
Formularz:

  1. <form action="" style="margin-left: 50px;" method="post">
  2. <?php foreach($drivermy as $drivermy1){ $o = $drivermy1['id']; ?>
  3. <br /><br />
  4. <input type="hidden" name="o" value="<?php echo $o; ?>" />
  5. <div id="left0"><?php echo $drivermy1['name']; ?></div>
  6. <div id="left1"><img src="gfx/flag/<?php echo $drivermy1['flag']; ?>.png" alt="" /></div>
  7. <div style="height: 25px;"><input type="text" name="opis /></div>
  8. <?php } ?>
  9. <br /><br /><br />
  10. <input type="submit" name="dodaj" value="Gotowe" />
  11. </form>


Skrypt PHP:
  1. if (!empty($_POST['dodaj']) && $_GET['act'] == 'rajd'){
  2.  
  3. $last = 'costam..';
  4.  
  5. $add_r = $pdo -> prepare('INSERT INTO `rajd` (`idu`, `opis`, `last`) VALUES(:idu, :opis, :last)');
  6. $add_r -> bindValue(':idu', $_POST['o'], PDO::PARAM_INT);
  7. $add_r -> bindValue(':opis', $_POST['opis'], PDO::PARAM_STR);
  8. $add_r -> bindValue(':last', $last, PDO::PARAM_STR);
  9. $add_r -> execute();
  10. $add_r -> closeCursor();
  11. }


Teraz troszkę zrozumiałem, czemu nie działa, bo się te name z formularza, powtarzają i dodaje się tylko jeden, no to w jaki sposób zrobić, aby to dodawały się normalnie bez znaczenia ile tych osób będzie czy 1 czy 100 czy 1000 w miarę optymalnie ?.

Dziękuje za odpowiedzi i pozdrawiam.
nospor
nazwy pol mają być nazwami tablicowymi, czyli
nie: opis
a: opis[]

Analogicznie reszta. Wówczas formularz wyśle tablicę danych którą w php odbierasz normalnie z $_POST['opis']

Mając tablice lecisz po niej FOREACHem i dodajesz pokolei
Michael2318
Wczoraj napisałem Ci to tutaj: http://forum.php.pl/index.php?showtopic=21...p;#entry1028702
Stwierdziłeś że to nie to, że takie coś to sam sobie potrafisz napisać po czym pytasz dokładnie o to, co napisałem Ci w ww. temacie...
nospor
W związku z powyższym - zamykam. Faktycznie, pytasz dokładnie o to samo...
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.