Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

3 Stron V   1 2 3 >  
Reply to this topicStart new topic
> Problem z formularzem
smok55453
post
Post #1





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 29.09.2013

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


Witam. Mam takie oto pole w formularzu:

Nie mam pojęcia jak mam odczytać wartości nazw pól aby je wpisać do bazy danych. Od razu zaznaczam, że ilość obiektów w tablicy ulega zmianie, niezależnie ode mnie. Proszę o pomoc, najlepiej jakiś urywek kodu.

Ten post edytował smok55453 30.12.2014, 16:22:06
Go to the top of the page
+Quote Post
com
post
Post #2





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


skoro to formularz to pewnie go gdzieś wysyłasz( zapenie postem) wiec robisz foreach na $_POST (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
smok55453
post
Post #3





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 29.09.2013

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


Dokładnie. Mam metodę post w formularzu, ale nie wiem jak sformułować tą pętle foreach. Mógłbyś pomóc?
Go to the top of the page
+Quote Post
SpiritCode
post
Post #4





Grupa: Zarejestrowani
Postów: 167
Pomógł: 35
Dołączył: 29.12.2014
Skąd: Otwock

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


Heh.

  1. foreach($_POST as $k=>$v)
  2. {
  3. echo 'nazwa pola: ' . $k;
  4. echo 'wartość: ' . $v;
  5. }


Leniuch z Ciebie (IMG:style_emoticons/default/wink.gif)

Ten post edytował SpiritCode 29.12.2014, 17:32:07
Go to the top of the page
+Quote Post
smok55453
post
Post #5





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 29.09.2013

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


Dzięki wielkie z te kilka linijek kodu. A to, że jestem leniuch to słyszę nie pierwszy i nie ostatni raz (IMG:style_emoticons/default/specool.gif)

Teraz wyświetla mi się w taki sposób:
nazwa pola: nazwa wartość: 23
nazwa pola: Maka wartość: 2
nazwa pola: Jajka wartość: 3
nazwa pola: Woda wartość: 4
nazwa pola: Mleko wartość: 5
nazwa pola: Ryz wartość: 6
nazwa pola: Kakao wartość:
nazwa pola: Rodzynki wartość:
nazwa pola: wyslij_przepis wartość: Wyślij

I chciałbym teraz te wartości dla Maka, Jajka, Woda, Mleko itd. wpisać do bazy danych.Wiem że mam użyć INSERT INTO ale też nie wiem jak to zapisać.

Na początku dodałem do pętli foreach to INSERT INTO iwyglądało tak:

ale wtedy w bazie dodało mi aż 7 wierszy, a miało dodać jeden który zawiera wszystkie te rzeczy.
Później zrobiłem tak:

ale też nie działa. Nie wiem jak to mam napisać. Chyba coś źle robię.

Ten post edytował smok55453 30.12.2014, 16:22:23
Go to the top of the page
+Quote Post
com
post
Post #6





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


w pętli zbuduj sobie tego stringa do zapytania a potem zrób inserta już poza nią (IMG:style_emoticons/default/smile.gif) teraz pomyśl sam jak to zrobić (IMG:style_emoticons/default/wink.gif)

i nie twórz zmiennej $zapytanie bo jest tu do niczego niepotrzebna, a alokujesz pamięć niepotrzebnie, ponadto skoro próbujesz to nie wygłuszaj błedów bo tak nigdy nie uzyskasz efektu (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
SpiritCode
post
Post #7





Grupa: Zarejestrowani
Postów: 167
Pomógł: 35
Dołączył: 29.12.2014
Skąd: Otwock

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


Cytat(smok55453 @ 29.12.2014, 17:48:19 ) *
Nie wiem jak to mam napisać. Chyba coś źle robię.



Tak. Robisz coś źle (IMG:style_emoticons/default/oneeyedsmiley02.png)

Go to the top of the page
+Quote Post
smok55453
post
Post #8





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 29.09.2013

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


O to chodziło?


To mi dobrze się wyświetla jak dam echo ale w bazie nic się nie pojawia.

Ten post edytował smok55453 30.12.2014, 16:22:34
Go to the top of the page
+Quote Post
SpiritCode
post
Post #9





Grupa: Zarejestrowani
Postów: 167
Pomógł: 35
Dołączył: 29.12.2014
Skąd: Otwock

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


Prawie (IMG:style_emoticons/default/tongue.gif)

Łatwiej by było Ci te klucze i wartości wsadzić w dwie różne tablice (lub jedną pod dwoma kluczami) a potem zrobić implode z pierwszym parametrem ",".

Po drugie, jeśli nie wiesz, czy wszystkie wartości będą liczbami warto je sprawdzić i ew. wsadzić w cudzysłów/apostrof

Chyba o niczym nie zapomniałem (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
smok55453
post
Post #10





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 29.09.2013

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


1

Ten post edytował smok55453 30.12.2014, 16:22:53
Go to the top of the page
+Quote Post
SpiritCode
post
Post #11





Grupa: Zarejestrowani
Postów: 167
Pomógł: 35
Dołączył: 29.12.2014
Skąd: Otwock

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


Cytat
('$wartosci_pol')


To jest źle (IMG:style_emoticons/default/biggrin.gif) dajesz tutaj jedną wartość.
Wywal te ciapki i zobacz czy jest ok
Go to the top of the page
+Quote Post
com
post
Post #12





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


SpiritCode
Cytat
cudzysłów/apostrof
to jest różnica (IMG:style_emoticons/default/wink.gif)
mam jedno pytanie Ty te bazę budujesz wszerz ?
Go to the top of the page
+Quote Post
smok55453
post
Post #13





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 29.09.2013

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


Cytat(SpiritCode @ 29.12.2014, 18:46:51 ) *
Wywal te ciapki i zobacz czy jest ok

Te ciapki czyli?


I w szerz i w zdłuż

Ten post edytował smok55453 29.12.2014, 18:49:50
Go to the top of the page
+Quote Post
SpiritCode
post
Post #14





Grupa: Zarejestrowani
Postów: 167
Pomógł: 35
Dołączył: 29.12.2014
Skąd: Otwock

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


Cytat(com @ 29.12.2014, 18:47:49 ) *
to jest różnica (IMG:style_emoticons/default/wink.gif)


Tak wiem (IMG:style_emoticons/default/smile.gif) Ale nic to nie zmienia (IMG:style_emoticons/default/wink.gif)


Ciapki czyli apostrofy

Ten post edytował SpiritCode 29.12.2014, 18:52:57
Go to the top of the page
+Quote Post
com
post
Post #15





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


  1. $wartosci_pol = implode("','",$tablica_wartosci);
  2. mysql_query("INSERT INTO przepisy ($nazwy_pol) VALUES ('$wartosci_pol')");


Ten post edytował com 29.12.2014, 18:54:06
Go to the top of the page
+Quote Post
smok55453
post
Post #16





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 29.09.2013

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


No właśnie u mnie nic nie pomogło usunięcie "ciapek:D" .Zastanawiam się czy to czasem nie przez to, że wyświetla mi także to: wyslij_przepis z przycisku wyślij.
Jak dodaje to do tablicy, a później próbuje dodać nowy rekord do bazy to pewnie jakiś błąd wyala bo nie mam takiej kolumny o nazwie wyslij_przepis
Go to the top of the page
+Quote Post
com
post
Post #17





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


czyli robisz to źle (IMG:style_emoticons/default/smile.gif)
każdy rekord ma być w oddzielnym wierszu, bo tak rozrośnie Ci się na boki tak iż się w tym pogubisz, ponadto nie będzie to optymalne (IMG:style_emoticons/default/wink.gif)

zmienia w value ` nie przejdzie
Go to the top of the page
+Quote Post
SpiritCode
post
Post #18





Grupa: Zarejestrowani
Postów: 167
Pomógł: 35
Dołączył: 29.12.2014
Skąd: Otwock

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


(IMG:style_emoticons/default/thumbsupsmileyanim.gif) Jeden problem rozwiązany
Wyelimnuj go (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
smok55453
post
Post #19





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 29.09.2013

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


Tzn moja tabel ma wyglądać tak: Tutaj masz obrazek

za rodzynkami będą dodawane nowe kolumny z produktami
tabela ma zawierać przepisy dodawane ze strony
Go to the top of the page
+Quote Post
com
post
Post #20





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


no to
  1. array_pop($tablica_wartosci);
  2. $wartosci_pol = implode("','",$tablica_wartosci);
  3. mysql_query("INSERT INTO przepisy ($nazwy_pol) VALUES ('$wartosci_pol')");


i dla drugiego analogicznie (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 25.12.2025 - 13:36