Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Tworzenie formularza z danych pochodzących z bazy
Forum PHP.pl > Forum > Przedszkole
zoska2801
Witam. Mam problem z generowaniem formularza. I zupełnie nie wiem jak się za to zabrać.
Mam takie zapytanie do bazy:
  1. $results = $conn->query("SELECT pole1,pole2,pole3 FROM tabela" );

Chciałabym by każdy z wierszy zwróconych z bazy tworzył
  1. <input type="hidden" name="" value="pole1" />
  2. <input type="checkbox" name="" value="pole2"> pole3<br>

By uzyskać z tych wszystkich danych tablicę asocjacyjną taką ja ta
  1. $tablica = ["pole1" => "wartosc","pole2" => "wartosc","pole3" => "wartosc"];


To może napiszę inaczej. I wyjaśnię dokładniej to co chciałabym uzyskać.
Mam zapytanie łączone z kilku tabel. By się tutaj nie rozpisywać i nie wgłębiać w temat niech będzie zwykły SELECT. Bo i tak tylko ID użytkownika, pojazdu,eventu i nazwisko usera są istotne:
  1. $results = $conn->query("SELECT user_id,vehicle_id,event_id,user_name FROM jakaś tabela ");

I teraz wyświetlam sobie wszystkie rekordy za pomocą foreach.

I tutaj mam pierwszy problem ponieważ dla każdego rekordu potrzebuję INPUT checkbox'a przesyłającego vehicle_id. Chodzi o to by było można wybrać kilka pojazdów. OK, ale checkbox to tylko jedna wartość. event_id jest stały dla wszystkich wyświetlanych wierszy z tabeli. Więc nie trzeba go przesyłać dla każdego rekordu z osobna. Ale user_id już nie, dlatego chciałam go przesłać przez INPUT hidden.
Te powstałe tablice połączyć w jedną i przekazać tutaj:
  1. $stmt = $conn->prepare("INSERT INTO tabela2 (`user_id`,`vehicle_id`,`event_id`) VALUES(:user_id,:vehicle_id,:event_id)");
  2. foreach($tablica_z_posta as $data)
  3. {
  4. $stmt->bindParam(':user_id', $data['user_id'], PDO::PARAM_INT);
  5. $stmt->bindParam(':vehicle_id', $data['vehicle_id'], PDO::PARAM_INT);
  6. $stmt->bindParam(':event_id', $data['event_id'], PDO::PARAM_INT);
  7.  
  8. $stmt->execute();
  9. }

No i wszystko było by fajnie jakby udało się za pomocą formularza wysłać te dane i zapisać je w tablicy. Wtedy nie było by problemów INSERT'em.

Ma ktoś jakiś pomysł, PLISSS oneeyedsmiley02.png
nospor
Problem z baza nie ma wiekszego zwiazku - przenosze.

Co do problemu:
nie, checkbox to nie tylko jedna wartosc. w checkbox rownie dobrze jako value mozesz ustawic taka wartosc:
value="war1:war2:war3"
a potem w php przy pomocy explode() rozbic ten tekst na swoje wartosci
A to tylko jedno z rozwiazan
zoska2801
Udało się smile.gif
  1. $tab = array('war1:war2:war3', 'war4:war5:war6','war7:war8:war9' );
  2.  
  3. $array = array();
  4. foreach ($tab as $q)
  5. $array[] = explode(":", $q);

"Tak czy siak" dziękuję za tą enigmatyczną podpowiedź.
Temat można zamknąć.
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.