Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]nie mogę dodać danych
Forum PHP.pl > Forum > Przedszkole
KamilloPL
dane którę chcę dodać dodają mi się tylko ostatnie z bazy danych. nie wiem czemu tak się dzieje

podsyłam code

  1. <?php if($_GET['podstrona']=='authors'){ ?>
  2. <h1>AUTHOR's</h1>
  3. <?php
  4. if (isset($_POST['insertAuthor'])) {
  5.  
  6. if (date('Y-m-d') > $_POST['year_of_birth']) {
  7. $query = $pdo->prepare("INSERT INTO author (first_name, last_name, year_of_birth)
  8. VALUES (:first_name, :last_name, :year_of_birth)");
  9. $query->execute(
  10. array(':first_name'=>$_POST['first_name'], ':last_name'=>$_POST['last_name'], ':year_of_birth'=>$_POST['year_of_birth'])
  11. );
  12. }
  13.  
  14. if ($pdo->lastInsertId()){
  15. echo 'Dodadno nowego autora: <b>'.$_POST['first_name'].' '.$_POST['last_name'].'</b> urodzonego dnia '.$_POST['year_of_birth'];
  16. unset($_POST);
  17. } else {
  18. echo 'Wystapil blad - popraw dane';
  19. }
  20. }
  21. ?>
  22.  
  23. <form method="post">
  24. <table>
  25. <tr>
  26. <td><input type="text" name="first_name" id="first_name" placeholder="first_name"
  27. maxlength="45" value="<?php echo $_POST['first_name']; ?>" /></td>
  28. <td><input type='text' name="last_name" id="last_name" maxlength="45" placeholder="last_name"
  29. value="<?php echo $_POST['last_name']; ?>" /></td>
  30. <td><input type="text" name="year_of_birth" id="year_of_birth" placeholder="year_of_birth"
  31. value="<?php echo $_POST['year_of_birth']; ?>" /></td>
  32. <td><button type="submit" id="insertAuthor" name="insertAuthor">ADD!</button></td>
  33. </tr>
  34. <?php
  35. $stmt = $pdo->query('SELECT * FROM author');
  36.  
  37. foreach($stmt as $row){
  38.  
  39. ?>
  40. <tr>
  41. <td><input type='text' name='first_name' id='first_name' value='<?php echo $row['first_name']; ?>' maxlength='45' /><br /></td>
  42. <td><input type='text' name='last_name' id='last_name' value='<?php echo $row['last_name']; ?>' maxlenght='45' /><br /></td>
  43. <td><input type='text' name='year_of_birth' id='year_of_birth' value='<?php echo $row['year_of_birth']; ?>' /><br /></td>
  44. <td>
  45. <a href="update.php?id=<?php echo $row['id']; ?>">[EDIT]</a>
  46. <a href="delete1.php?id=<?php echo $row['id']; ?>">[DELETE]</a>
  47. </td>
  48. </tr>
  49. <?php
  50. }
  51. $stmt->closeCursor();
  52. ?>
  53. </table>
  54.  


tam gdzie jest exit; działa wszystko ok dodaje półki wyświetla błąd itd ale nie ma odczytu z bazy danych wiadom. jak opuszczę exit to dodaje mi tylko ostatnio pis z bazy za każdym razem
nospor
Cytat
jak opuszczę exit to dodaje mi tylko ostatnio pis z bazy za każdym razem
Poniewaz tworzysz iles tam pol o tej samej nazwie... ciekawe wiec na jakiej podstawie php ma je rozroznic?

zrob sobie
print_r($_POST);
a moze zrozumiesz co wysylasz sie Twoim formem.

Jak chcesz wyslac kilka pol, o tej samej nazwie, to mają one miec nazwe tablicową

nie: name="firstname"
a: name="firstname[]"
analogicznie reszta.
I potem postem idzie tablica pol.
KamilloPL
trochę nie rozumiem tego - jeżeli daje [] przelatuje mi tablice całą i dodaje ostatni wpis - chyba że znów robię coś źle

dopiero zaczynam i trochę jeszcze się gubie
nospor
Pokaz kod po zmianach... zakladam, ze uzyles FOREACH by dodawac do bazy kolejne wiersze z forma?
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.