Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] dodanie tablicy do bazy danych
srwsio
post
Post #1





Grupa: Zarejestrowani
Postów: 82
Pomógł: 1
Dołączył: 20.01.2005
Skąd: Szczecin

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


Witam
Mam tablicę $dane
  1. (
  2. [produkt_id] => Array
  3. (
  4. [0] => 1
  5. [1] => 2
  6. [2] => 3
  7. [3] => 4
  8. [4] => 5
  9. )
  10.  
  11. [sztuk] => Array
  12. (
  13. [0] => 1176
  14. [1] => 5366
  15. [2] => 2806
  16. [3] => 589
  17. [4] => 265
  18. )
  19.  
  20. )


oraz tabelę bazy danych

dane
  1. id
  2. userid
  3. 1
  4. 2
  5. 3
  6. 4


Chce dodać powyższą tablicę do tabeli dane gdzie $dane[produkt_id] to pole w tabeli a $dane [sztuk] to jej wartość.
Potrafię to zrobić za pomocą pętli. Lecę wtedy po każdym wierszu z tabeli i zapisuje. Tylko że wykonuję - biorąc w/w przykład - 5 zapytań a czasami tablica ma nawet do 36 "wspólnych" wierszy.
Jak mogę to zrobić poprzez jedno zapytanie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
lukesh
post
Post #2





Grupa: Zarejestrowani
Postów: 113
Pomógł: 14
Dołączył: 25.08.2006

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


Nie możesz tego zrobić poprzez jedno zapytanie. Dla każdego wiersza w bazie musisz wywołać osobne zapytanie.
Możesz ewentualnie przechowywać w bazie całą tablicę, ale miałoby to tylko sens, jeśli za każdym razem pobierałbyś dane w całości.
Go to the top of the page
+Quote Post
mortus
post
Post #3





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Cytat(lukesh @ 15.04.2012, 17:16:29 ) *
Nie możesz tego zrobić poprzez jedno zapytanie. Dla każdego wiersza w bazie musisz wywołać osobne zapytanie.
Możesz ewentualnie przechowywać w bazie całą tablicę, ale miałoby to tylko sens, jeśli za każdym razem pobierałbyś dane w całości.

Nieprawda. Można użyć zapytania typu MULTI-INSERT, które wygląda mniej więcej tak:
  1. INSERT INTO `tabela` (`kolumna_1`) VALUES
  2. ('wartość_1'),
  3. ('wartość_2'),
  4. ('wartość_3')
  5. -- itd.

W pętli foreach trzeba sobie takie zapytanie skleić jako łańcuch znaków.

EDIT:
Niestety ciężko mi odczytać, co odpowiada czemu w relacji tablica PHP - tabela bazy danych.

Ten post edytował mortus 15.04.2012, 16:32:50
Go to the top of the page
+Quote Post

Posty w temacie


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: 11.10.2025 - 10:11