Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapis tablicy do MySQL
Forum PHP.pl > Forum > Przedszkole
mikelauri
Witajcie mam taki formularz ktory jest dynamiczny i daje mi nastepujaca tablice

Array
(
[imiona] => Array
(
[0] => Jan
[1] => Zygmunt
[2] => Kamil
)

[nazwiska] => Array
(
[0] => Kowalski
[1] => Swider
[2] => Nowak
)

)


teraz mam pytanko jak ma wygladac skrypt php zapisu tych danych do bazy danych tworzac odzielne rekordy czyli w bazie mam

1 rekord

Imie = jan Nazwisko= Kowalski

2 rekord

Imie = Zygmunt Nazwisko= Świder


itd...... Prosze o pomoc.

Fifi209
  1. if (count($_POST['imiona']) == count($_POST['nazwiska'])) {
  2. foreach ($_POST['imiona'] as $key => $val) {
  3. $sql = 'insert into `tabela` value("'.$val.'", "'.$_POST['nazwiska'][$key].'")';
  4. }
  5. }

Coś takiego, taki szkic.
mikelauri
Kurcze nie moge sobie poradzic z tym zapisem do bazy. Powiem tak znalazlem gotowy formularz dynamiczny zamieszam kod pod spodem:

Podaje tez link do formularza online: http://antczak.org/source/dynamic_forms/


  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <head>
  3. <title>Dynamiczne formularze</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5. <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
  6. <script type="text/javascript" src="http://jquery.bassistance.de/validate/jquery.validate.js"></script>
  7. <link rel="stylesheet" type="text/css" media="screen" href="http://jquery.bassistance.de/validate/demo/css/screen.css" />
  8. </head>
  9. <body>
  10. <script type="text/javascript">
  11. $(document).ready(function(){
  12. // tworzymy zmienną i, wykorzystamy ją do identyfikowania wierszy
  13. // ustawiamy jej wartość 2, ponieważ jeden wiersz jest już w tabeli
  14. var i = 2;
  15. // tworzymy zmienną szablonWiersza i wczytujemy do niej szablon z textarea #szablon
  16. var szablonWiersza = jQuery.format($("#szablon").val());
  17. // tworzymy funkcję, która dodaje szablon do właściwej tabeli
  18. function dodajWiersz() {
  19. var ii = i++;
  20. // dodajemy wiersz do właściwej tabeli
  21. $(szablonWiersza(ii)).appendTo("#listaOsob tbody");
  22. // Nowy wiersz jest już widoczny.
  23. // Każdy element nowego wiersza posiada swoje id
  24. // tr na id: wiersz_2, ikona minus ma id: usunOsobe_2
  25. // Do nowo dodanej ikony - dodajmy zdarzenie.
  26. // W momencie kliknięcia minusa, wiersz zostanie usunięty.
  27. $("#usunOsobe_" + ii).click(function(){
  28. $("#wiersz_" + ii).remove();
  29. });
  30. }
  31. // do przycisku #dodajOsobe dodajemy zdarzenie,
  32. // kliknięcie na przycisk plus wywoła fukcję dodajWiersz
  33. $("#dodajOsobe").click(dodajWiersz);
  34. });
  35. </script>
  36.  
  37. <!-- Szablon wiersza w tabeli -->
  38.  
  39. <textarea id="szablon" style="display:none;" cols="1" rows="1">
  40. <tr id="wiersz_{0}">
  41. <td>{0}.</td>
  42. <td><input type="text" name="imie[]"></td>
  43. <td><input type="text" name="nazwisko[]"></td>
  44. <td><img src="http://antczak.org/source/dynamic_forms/12.png" id="usunOsobe_{0}" alt="usun"></td>
  45. </tr>
  46.  
  47. <!-- Właściwa tabela -->
  48.  
  49. <form action="parser.php" method="post">
  50. <table id="listaOsob">
  51. <tr>
  52. <th>Lp</th>
  53. <th>Imię</th>
  54. <th>Nazwisko</th>
  55. <th>+/-</th>
  56. </tr>
  57. </thead>
  58. <tr>
  59. <th colspan="4">
  60. <input type="submit" name="wyslij" value="Wyślij">
  61. </th>
  62. </tr>
  63. </tfoot>
  64. <tr>
  65. <td>1.</td>
  66. <td><input type="text" name="imie[]"></td>
  67. <td><input type="text" name="nazwisko[]"></td>
  68. <td><img src="http://antczak.org/source/dynamic_forms/11.png" id="dodajOsobe" alt="dodaj"></td>
  69. </tr>
  70. </tbody>
  71. </table>
  72. </form>
  73. </body>
  74. </html>


I do tego potrzebował bym skrypt który by zapisywał te dane do bazy danch. jeżeli ktos by mógł mi napisac taki skrypt wydaje mi sie ze jest on bardzo prosty i krótki dla wtajemniczonych programistów PHP. A ja sobie nie moge z tym poradzić. Tablica jaka jest generowana za pomoca nastepujacego skryptu jest wyżej a tutaj podaje jak wyglada skrypt php który ja generuje

  1. <?php
  2. // tworzymy tablice która będzie zawierała wszystkie osoby
  3. $osoby = array();
  4.  
  5. // przepisujemy dane do wspolnej tablicy
  6. $osoby['imiona'] = $_POST['imie'];
  7. $osoby['nazwiska'] = $_POST['nazwisko'];
  8.  
  9. // wypisujemy tablicę zawierającą wszystkie osoby
  10. $wynik = print_r($osoby,true);
  11. echo "<pre>$wynik</pre>";
  12. ?>


Byłbym naprawde wdzieczny za pomoc bo już z tym walcze długi czas, chodzi mi o dzialajacy skrypt zapsiu do bazy. Dziekuje za pomoc.
nospor
Fifi podał ci poprawny kod. Jedyne co musiałeś zrobić to się nad nim chwilkę zastanowić i dostosować nazwy do swoich nazw.
mikelauri
Zrobiłem to poprawiłem nazwy i nie zapisuje mi do bazy danych wprowadzonych danych. Zamieszczam to co zrobilem. czyli samo php

  1. <?php
  2. include ('polaczenie.php');
  3.  
  4. // tworzymy tablice która będzie zawierała wszystkie osoby
  5. $osoby = array();
  6.  
  7. // przepisujemy dane do wspolnej tablicy
  8. $osoby['imiona'] = $_POST['imie'];
  9. $osoby['nazwiska'] = $_POST['nazwisko'];
  10.  
  11. if (count($_POST['imie']) == count($_POST['nazwisko'])) {
  12. foreach ($_POST['imie'] as $key => $val) {
  13. $sql = 'insert into test value("'.$val.'", "'.$_POST['nazwisko'][$key].'")';
  14. }
  15. }
  16. ?>


i nie wyskakuja mi zadne bledy ale nic sie nie dodaje do bazy danych. Poprostu jestem zbyt cienki chyba zeby to zrozumiec.
nospor
$sql = 'insert into test value("'.$val.'", "'.$_POST['nazwisko'][$key].'")';
To jest zapytanie sql. Napisanie zapytania nie spowoduje, ze to zapytanie się wykona.

To tak jak z listą na zakupy - to że ją napiszesz, nie znaczy, że zakupy się same zrobią. Musisz jeszcze iść po te zakupy.
mikelauri
Jezu ale mi wstyd tak sie skupiłem ze cos w tym kodzie musi byc nie tak ze zapomnialem "zrobic zakupy" juz wszystko dziala. dzieki Wsyzstkim za pomoci musze wizac sobie twój opis do serca "Myśl, myśl, myśl..." - Kubuś Puchatek
nospor
Cytat
musze wizac sobie twój opis do serca "Myśl, myśl, myśl..." - Kubuś Puchatek
Widzę będą z Ciebie jeszcze ludzie smile.gif
mikelauri
Hahaha mam nadzieje ale nooba zrobilem smile.gif Pozdrawiam.

jeszcze jedno pytanie mi sie nawineło smile.gif a jak bym chciał dodac jeszcze jedno pole np. wiek to jak wtedy należy zmodyfikowac to foreach questionmark.gif
nospor
No a zdaje się miałeś myśleć.....tongue.gif

Foreach zostaw w spokoju. ono jest ok.

$sql = 'insert into test value("'.$val.'", "'.$_POST['nazwisko'][$key].'", "'.$_POST['wiek'][$key].'")';
I już.

ps: przenosze
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.