![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 12 Dołączył: 9.01.2010 Ostrzeżenie: (10%) ![]() ![]() |
Witam!
Zrobiłem sobie taki formularz, gdzie po zaznaczeniu checkboksów - pokazuja mi sie po wysłaniu wybrane liczby w tabelce. Mam zapytanie jak teraz te wyświetlone liczby zapisać do bazy danych, tak jak jest struktura tabeli tzn.ball1; ball2;ball3 itd...
Pozdrawuiam i z góry dziękuje za jakąkolwiek pomoc. Myslałem cos o taki poleceniu $sql = "INSERT INTO `loto`.`lotto` (date, ball1, ball2, ball3, ball4, ball5, ball6) VALUES ($_POST[language])"; tylko cos jeszcze nie pasi. Tzn jeszcze nie zapisuje. Oczywiście połączenie z bazą danych jest. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
https://prophp.pl/advice/show/13/w_jaki_spo...larza_do_php%3F
Zamiast update insert oczywiście. Zobacz jeszcze artykuł o pdo. -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 12 Dołączył: 9.01.2010 Ostrzeżenie: (10%) ![]() ![]() |
Jeszcze nie ruszam się za PDO, chce na dziś ten temat ogarnąć tylko stoje w miejscu.
Zrobiłęm takie polecenie $sql = "INSERT INTO `loto`.`lotto` (`id`, `ball1`, `ball2`, `ball3`, `ball4`, `ball5`, `ball6`) VALUES ('', '%s', '%s', '%s', '%s', '%s', '%s')"; ale tlko dodaje rekord ale nie zapisuje wybranych liczb. Prosze o nakierowanie lub przykłąd. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
A to czego używasz? Mysqli? Liczby to nie s tylko d i bez ciapek.
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 12 Dołączył: 9.01.2010 Ostrzeżenie: (10%) ![]() ![]() |
Viking to gdzie leży błąd w zapytaniu?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Powtórzę pytanie - czego używasz do obsługi bazy? Jeśli mysqli i bindowania to nie tak się robi
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 12 Dołączył: 9.01.2010 Ostrzeżenie: (10%) ![]() ![]() |
Masz rację viking, zrobię to od innej strony. Tylko chciałem wynik tej petli zapisać do bazy danych.
Okey to inaczej wracając do tematu jak rozpisać $language' bo jak dam takie zapytanie $sql = "INSERT INTO `loto`.`lotto` (`id`, `ball1`, `ball2`) VALUES ('', '$language', '$language')"; to wstawia m tylko ostatnia wybrana liczbę. Nie umiem tego zrobić by np wybrane 2 liczby wstawił do bazy. Czy ktoś nakieruje z tą pętlą. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Artykuł opisywał jak masz to zrobić. Jeśli nie chcesz pdo to zostaje mysqli i bindowanie parametrów. To co przedstawiłes to był jakiś ciąg znaków dla sprintf. Dla klucza głównego nie wstawia się pustego stringu '' tylko pomija całkowicie.
-------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 12 Dołączył: 9.01.2010 Ostrzeżenie: (10%) ![]() ![]() |
To jak zapisać wynik pętli do bazy danych żeby każda liczbę zapisywał do osobnej kolumny.?
Kto rozwiąże mój dylemat? Czy wie ktoś jak to ruszyć z kopyta? Witam. Zrobiłem teraz taki plik, ale wyskakuje mi taki bład "Warning: Invalid argument supplied for foreach() in D:\xampp\htdocs\....\loko.php on line 40" Jak zdefiiowac argument poprawnie dla foreach by zapisywał do bazy danych?
Ten post edytował woxala123 28.11.2016, 12:16:54 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 1 879 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Ja na twoim miejscu sprawdziłbym czy w ogóle do SQL trafiają dane które oczekujesz zrób sobie print
Dodatkowo daje dziwne zapytanie: jeżeli idItem jest na końcu tej tablicy, to dlaczego w INSERT dajesz id na początku? |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 12 Dołączył: 9.01.2010 Ostrzeżenie: (10%) ![]() ![]() |
Nadal to samo pokazuje.
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
foreach ($_POST['id']
Przeciez $_POST['id'] to zwykle pole ID a nie tablica wiec nie bardzo rozumiem co ty oczekujesz od tego kodu ps: a w ogole to twoj formularz nie zawiera pola o NAME="ID" wiec dla foreach przekazujesz NULL -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 12 Dołączył: 9.01.2010 Ostrzeżenie: (10%) ![]() ![]() |
To szczerze powiem nie wiem jak to rozpisać. Siedzę już nad tym 2 drugi dzień. Przy pierwszym pliku jest na górze zapisuje mi tylko ostatnią liczbę. Tutaj nic nie wychodzi.
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
To moze zacznij analizowac kod jaki masz.
Ani nie masz POST['id'] ani nie masz POST[bal...] Zrob sobie print_r($_POST); i przyjrzyj sie w koncu tem co wysyla formularz ktory sam generujesz a nie strzelasz na slepo z wymyslonych pol, ktorych twoj formularz nie ma. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 12 Dołączył: 9.01.2010 Ostrzeżenie: (10%) ![]() ![]() |
Okey teraz taki komunikat Warning: Invalid argument supplied for foreach() in D:\xampp\htdocs\admin\loko.php on line 40
Array ( [button2] => Wyślij [MM_insert] => form2 ) Czyli trzeba zdefiniowac $_POST Tyczyli to zdefinować tak $id=$_POST['id'] i $bal1=$_POST['bal1'] Co dalej z tym? Siedzę przy tym i nic nie wychodzi. Może jakis może przykład bym mógł nad tym dojść do porządku dziennego. Please Ten post edytował woxala123 28.11.2016, 13:57:28 |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 1 879 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Wiesz jak działa pętla?
jeżeli jako pierwszą wartość w pętli wrzucasz string/number to wyskakuje ci błąd niepoprawnej wartości. Czyli tak jak powiedział Nospor, zacznij tam wrzucać tablicę. Możesz w IF przed foreach dodać sobie:
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 12 Dołączył: 9.01.2010 Ostrzeżenie: (10%) ![]() ![]() |
Witam!
Dziękue za zainteresowanie. Zajmę się tym już jutro, ale wciąż bedę życzliwy za jakiekolwiek sugestie. |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 220 Pomógł: 18 Dołączył: 5.02.2016 Skąd: Polska Ostrzeżenie: (0%) ![]() ![]() |
Hmm, jak rozumiem, chcesz zaznaczone liczby dodać do mysql?
Przedstawiłeś kod: INSERT INTO loko (id, bal1, bal2, bal3, bal4, bal5, bal6) VALUES (%s, %s, %s, %s, %s, %s, %s) Po tym wnioskuję, że musiałoby być zaznaczone min. 6 pól 'language'. Tworząc language[] stworzyłeś tablicę, więc:
Jak widzisz, kod wymaga zaznaczenia minimum 6 pól. Wynik będzie w postaci np. 1,2,3,4,5,6 więc musisz: oddzielić liczby funkcją explode() oraz wrzucić je do zapytania MySQL. Np: Cytat $explode = explode(',', $number); INSERT INTO loko (`id`, `bal1`, `bal2`, `bal3`, `bal4`, `bal5`, `bal6`) VALUES ('".$explode[0]."', '".$explode[1]."', '', '', '', '', ''); itp. Ten post edytował Niree 28.11.2016, 20:16:39 |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 12 Dołączył: 9.01.2010 Ostrzeżenie: (10%) ![]() ![]() |
Witam.
Okej Niree, przedstawiłeś rozwiązanie tylko tak w lini 49 poprawiłem i++; na $i++; i teraz to po zaznaczeniu 6 liczb wyskakuje w tabelce Array Array Array Array Array Array zamiast 6-ściu zaznaczonych liczb. Gdzie teraz tkwi błąd że pokazuje array a nie liczby. |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 220 Pomógł: 18 Dołączył: 5.02.2016 Skąd: Polska Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 03:13 |