Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP]Dynamiczne dodawanie rekordów?
Deen
post 26.05.2010, 08:01:11
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 19.05.2009

Ostrzeżenie: (0%)
-----


Witajcie!
Wydziergałem taki kod: http://wklej.org/id/340194/
Tworzy on 50 pól input, jednak nie zawsze jest dodawanych 50 rekordów. Jak zrobić żeby na początku był jeden rekord i był przycisk dodaj rekord. Wtedy już by pokazały się dwa pola input. I tak bez ograniczenia a po naciśnięciu przyciska wyślij żeby się do bazy wszystkie te rekordy dodały. Ważne, że jak się kliknie dodaj żeby nie skasowało poprzednio wpisanych danych w pole input... Wydaje mi się, że kiedyś o tym czytałem ale nie mogę tego znaleźć nie wiem jak się nazywa itp. Mam nadzieję, że pomożecie.. btw coś z tablica[] ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
magnus
post 26.05.2010, 08:15:57
Post #2





Grupa: Zarejestrowani
Postów: 99
Pomógł: 15
Dołączył: 15.11.2007
Skąd: Nowogród Bobrz.

Ostrzeżenie: (0%)
-----


Inputy muszą być tablicą, czyli każdy musi nazywać się np. "email[]".
Dodawanie nowego musisz zrobić w JavaScripcie - tworząc nowy element strony (input o nazwie "email[]").
W php zwyczajnie lecisz po wszystkich elementach tej tablicy:
  1. foreach ($_POST['email'] as $email) {
  2. //coś robisz z $email
  3. }

albo:
  1. for ($i=0; $i<count[$_POST['email']) {
  2. //coś robisz z $_POST['email'][$i]
  3. }


--------------------
Efemental.pl - nasz punkt słyszenia :: recenzje :: tylko metal!
Opensource'owy klon Cantra: http://github.com/magnax/Simtr
Go to the top of the page
+Quote Post
Deen
post 26.05.2010, 08:35:32
Post #3





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 19.05.2009

Ostrzeżenie: (0%)
-----


Cytat(magnus @ 26.05.2010, 09:15:57 ) *
Inputy muszą być tablicą, czyli każdy musi nazywać się np. "email[]".
Dodawanie nowego musisz zrobić w JavaScripcie - tworząc nowy element strony (input o nazwie "email[]").


Jakiś link? czy coś smile.gif (najlepiej z demo)
Go to the top of the page
+Quote Post
athei
post 26.05.2010, 08:49:45
Post #4





Grupa: Zarejestrowani
Postów: 389
Pomógł: 141
Dołączył: 11.04.2009

Ostrzeżenie: (0%)
-----


link , link , link
Go to the top of the page
+Quote Post
Deen
post 26.05.2010, 10:43:05
Post #5





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 19.05.2009

Ostrzeżenie: (0%)
-----


Przejrzałem to co mi wysłałeś wydziergałem coś takiego:
http://wklej.org/id/340240/
Nie zwraca błędów ale nie działa...
To pewnie przez to, ze js pokazuje tresc ale nie ma jej w kodzie strony i php nie ma skąd rekordów brać tak?
Nie ogarniam o co chodzi? jak się z tym uporać?
Go to the top of the page
+Quote Post
athei
post 26.05.2010, 11:15:16
Post #6





Grupa: Zarejestrowani
Postów: 389
Pomógł: 141
Dołączył: 11.04.2009

Ostrzeżenie: (0%)
-----


Wszystko działa.
Zrób sobie
Kod
print_r($_POST);
po
Kod
if ($_GET['action']=="dodaj"){
i zobaczysz jak wygląda tablica $_POST.
Do maili nie odwołujesz się $email = $_POST["$i"]; tylko $email=$_POST['email'][$i]

Edit:
Poza tym dopracuj sobie dodawanie maili do bazy. Po co tyle zapytań. Zrób to jednym, coś jak:
Kod
$zapytanie = "INSERT INTO `email` (`id`, `nazwa`, `data`) VALUES ('', '$email', '$data'), ('$email, '$data'), ('$email, '$data')";

Sprawdź sobie najpierw elementy w tablicy, które niepuste, ile ich jest itd. Później w pętli dodawaj ('$email, '$data'), ('$email, '$data') do zapytania ($zapytanie.=" coś tu") a na koniec wyślij do bazy (query).

Ten post edytował athei 26.05.2010, 11:22:45
Go to the top of the page
+Quote Post
zordon
post 26.05.2010, 13:22:04
Post #7





Grupa: Zarejestrowani
Postów: 358
Pomógł: 78
Dołączył: 4.11.2008
Skąd: Kraków

Ostrzeżenie: (0%)
-----


ze swej strony podam tylko jeszcze innego linka po polsku: bardzo fajny tutorial jak zrobić coś takiego krok po kroku w jQuery:
http://ferrante.pl/2007/10/06/jquery-to-latwe-4/
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 17:08