Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z zapisaniem tablicy do bazy danych
ZenekN
post
Post #1





Grupa: Zarejestrowani
Postów: 419
Pomógł: 5
Dołączył: 7.08.2012

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


Hej mam problem z zapisaniem tablicy do bazy danych, otrzymuję w takim wyniku problemem dla mnie jest to że ilość produktów w tablicy może być nieograniczona.

  1. 'product' => array(
  2. 'iloval' => array(
  3. (int) 0 => '1',
  4. (int) 1 => '1'
  5. ),
  6. 'productidval' => array(
  7. (int) 0 => '4794',
  8. (int) 1 => '3976'
  9. ),
  10. )


a chciałbym ją przetransformować poprzez pętle do takiej postaci

  1. $array = array(
  2.  
  3. 'iloval' => $zmienna1,
  4. 'productidval' => $zmienna2
  5. ));


$zmienna1 ma zawierać wartości iloval czyli (1, 1)
natomiast zmienna2 ma zawierać wartości productidval czyli (4794, 3976)

Ten post edytował ZenekN 30.01.2015, 11:06:10
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 14)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Byloby naprawde milo, jakbys raczył napisac co mają zawierac $zmienna1 oraz $zmienna2


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
daWeb
post
Post #3





Grupa: Zarejestrowani
Postów: 43
Pomógł: 2
Dołączył: 3.12.2014

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


  1. $items = array(
  2. 'product' => array(
  3. 'iloval' => array(
  4. 0 => '1',
  5. 1 => '1'
  6. ),
  7. 'productidval' => array(
  8. 0 => '4794',
  9. 1 => '3976'
  10. ),
  11. ));
  12. $newOrder = array();
  13.  
  14. foreach($items['product'] as $name => $value) {
  15.  
  16. $newOrder[$name] = array_sum($value);
  17. }
  18.  
Go to the top of the page
+Quote Post
ZenekN
post
Post #4





Grupa: Zarejestrowani
Postów: 419
Pomógł: 5
Dołączył: 7.08.2012

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


Hej dzięki za pomoc ale nie do końca o to mi chodziło

problem mam taki że gdy zapisuje do bazy danych

to zapis w bazie danych wygląda w ten sposób




a chciałbym aby wyglądał w ten sposób



Go to the top of the page
+Quote Post
daWeb
post
Post #5





Grupa: Zarejestrowani
Postów: 43
Pomógł: 2
Dołączył: 3.12.2014

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


bez SQL'a nic nie poradzimy.
Go to the top of the page
+Quote Post
ZenekN
post
Post #6





Grupa: Zarejestrowani
Postów: 419
Pomógł: 5
Dołączył: 7.08.2012

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


Za chwilę wrzucę ale dzieje się to z powodu że pierwszy jest (1, null) (1, null) a drugi (null, 4794) (null, 3976)
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
że pierwszy jest (1, null) (1, null) a drugi (null, 4794) (null, 3976)
Tyle to sie mozna bylo domyslec i bez kodu smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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





Grupa: Zarejestrowani
Postów: 43
Pomógł: 2
Dołączył: 3.12.2014

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


Wrzuć konkretny przykład, tak żeby było wiadomo jak ma wyglądać tablica którą chcesz przetworzyć w pętli i skąd ona pochodzi.
Go to the top of the page
+Quote Post
ZenekN
post
Post #9





Grupa: Zarejestrowani
Postów: 419
Pomógł: 5
Dołączył: 7.08.2012

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


  1. /app/Controller/CartsController.php (line 118)
  2.  
  3. 'Orderproduct' => array(
  4. 'iloval' => '1',
  5. 'productidval' => null
  6. )
  7. )
  8.  
  9. Notice (8): Undefined index: productidval [APP/Controller/CartsController.php, line 114]
  10.  
  11. /app/Controller/CartsController.php (line 118)
  12.  
  13. 'Orderproduct' => array(
  14. 'iloval' => '1',
  15. 'productidval' => null
  16. )
  17. )
  18.  
  19. Notice (8): Undefined index: productidval [APP/Controller/CartsController.php, line 114]
  20.  
  21. /app/Controller/CartsController.php (line 118)
  22.  
  23. 'Orderproduct' => array(
  24. 'iloval' => '1',
  25. 'productidval' => null
  26. )
  27. )
  28.  
  29. Notice (8): Undefined index: iloval [APP/Controller/CartsController.php, line 113]
  30.  
  31. /app/Controller/CartsController.php (line 118)
  32.  
  33. 'Orderproduct' => array(
  34. 'iloval' => null,
  35. 'productidval' => '4794'
  36. )
  37. )
  38.  
  39. Notice (8): Undefined index: iloval [APP/Controller/CartsController.php, line 113]
  40.  
  41. /app/Controller/CartsController.php (line 118)
  42.  
  43. 'Orderproduct' => array(
  44. 'iloval' => null,
  45. 'productidval' => '3976'
  46. )
  47. )
  48.  
  49. Notice (8): Undefined index: iloval [APP/Controller/CartsController.php, line 113]
  50.  
  51. /app/Controller/CartsController.php (line 118)
  52.  
  53. 'Orderproduct' => array(
  54. 'iloval' => null,
  55. 'productidval' => '2108'
  56. )
  57. )
  58.  
  59.  
  60.  


Czyli teraz pytanie jak złączyć te tablice smile.gif

Ten post edytował ZenekN 30.01.2015, 12:45:29
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Pokaz w jaki sposob ty te tablice budujesz... Tam jest klucz do rozwiązania "zagadki"


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
ZenekN
post
Post #11





Grupa: Zarejestrowani
Postów: 419
Pomógł: 5
Dołączył: 7.08.2012

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


  1. if($this->request->data){
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9. foreach($this->request->data['product']['iloval'] as $arrk => $arrv){
  10.  
  11.  
  12. $tablica[] = array(
  13.  
  14. 'iloval' => $arrv
  15. );
  16.  
  17.  
  18.  
  19.  
  20. }
  21.  
  22. foreach($this->request->data['product']['productidval'] as $arrk => $arrv){
  23.  
  24.  
  25. $tablica[] = array(
  26.  
  27. 'productidval' => $kk
  28. );
  29.  
  30.  
  31.  
  32.  
  33. }
  34.  
  35.  
  36.  
  37.  
  38. foreach($tablica as $tablicak){
  39.  
  40. $data =array(
  41. 'Orderproduct' => array(
  42.  
  43. 'iloval' => $tablicak['iloval'],
  44. 'productidval' => $tablicak['productidval']
  45. )
  46.  
  47. );
  48.  
  49.  
  50. }
  51.  
  52.  
  53.  
  54. }
Go to the top of the page
+Quote Post
daWeb
post
Post #12





Grupa: Zarejestrowani
Postów: 43
Pomógł: 2
Dołączył: 3.12.2014

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


Dlaczego rozdrabniasz to na tyle foreach? to można zrobić w jednym miejscu
Go to the top of the page
+Quote Post
nospor
post
Post #13





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




  1. foreach($this->request->data['product']['iloval'] as $arrk => $arrv){
  2.  
  3.  
  4.  
  5.  
  6.  
  7. $tablica[] = array(
  8.  
  9.  
  10.  
  11. 'iloval' => $arrv,
  12. 'productidval' => $this->request->data['product']['productidval'][$arrk]
  13.  
  14. );
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24. }

i juz


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
ZenekN
post
Post #14





Grupa: Zarejestrowani
Postów: 419
Pomógł: 5
Dołączył: 7.08.2012

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


ok działa, ja zaś robiłem z to rozwiązanie z iteracja $i++ i tutaj mnie trop zgubił a wystarczyło pobrać klucz tablicy wink.gif
Go to the top of the page
+Quote Post
nospor
post
Post #15





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Ok
A na przyszlosc podawaj od razu właściwy kod a nie trzeba przez 10 postow go z Ciebie wyciągać. No to żadna frajda.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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 Aktualny czas: 22.08.2025 - 07:22