Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][SQL]Dodawanie danych do bazy danych z tablicy
Forum PHP.pl > Forum > Przedszkole
charlie-cherry
Udało mi się już znacząco ułatwić sobie życie i w prosty sposób tworzyć formularze z tablic. Tablicuję sobie odpowiednie dane w formacie "nazwa pola/opis pola/ rodzaj pola", tak jak poniżej:

  1. <?php
  2. $tabl[0] = array('id', 'Id obiektu', 'hidden');
  3. $tabl[1] = array('data_numer', 'Data wydania komiksu np. 9/1994 (pole wymagane)', 'input_text');
  4. $tabl[2] = array('numer_w_serii', 'Numer wydania w całej serii np. 56 (tylko jako cyfry)', 'input_text');
  5. ?>


I korzystając z pętli "for" tworzę automatycznie formularz. Udało mi się również pobrać dane z SQL'a i wrzucić je automatycznie do odpowiednich pól. Nie mam jednak pojęcia jak zautomatyzować proces dodawania nowych rekordów do bazy. Próbowałem chociaż wstawiać dane z tablic do zapytania SQL:

  1. <?php
  2. $query = "INSERT INTO $nazwa_tabeli ( `$tabl[3][0]`, `$tabl[3][0]`, `$tabl[3][0]`, `$tabl[3][0]`, `$tabl[4][0]`) VALUES ($za[0], $za[1], $za[2], $za[3], $za[4]);";
  3. ?>


ale SQL nie toleruje danych z tablic jako nazw pól. No i takie rozwiązania jest też bardzo mało wygodne, gdy się ma 26 nazw pól.

Czy ktoś wie jak zautomatyzować ten proces?
ddiceman
  1. <?php
  2. $nazwy_pol = array();
  3. $wartosci_pol = array();
  4. foreach($tabl as $tabl_key => &$tabl_element){
  5.    $nazwy_pol[]    = '`' . $tabl_element[0] . '`';
  6.    $wartosci_pol[] = '"' . $za[$tabl_key] . '"';
  7. }
  8. $query = "INSERT INTO $nazwa_tabeli (" . implode(',', $nazwy_pol) . ") VALUES (" . implode(',', $wartosci_pol) . ");";
  9. ?>
charlie-cherry
Wielkie dzięki, o to właśnie mi chodziło. Wielki plus.
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.