Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dodawanie do bazy wielu wyników z foreach
kamykthm
post
Post #1





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 12.08.2009

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


Witam,
na wstępi chce zaznaczyć, że cały czas się ucze php, więc prosił bym o wyrozumiałość..

Tera do rzeczy, pobieram sobie json'em dane, sporo danych.. czasem jest wyników ponad 100:

  1. $user_groups = json_decode(file_get_contents($graph_groups));
  2. foreach ($user_groups->data as $gp) {
  3. $grup_id = $gp->name;
  4. $grup_name = $gp->id;
  5. $grup_admin = $gp->administrator;
  6.  
  7. }


Wszysto mi wyśwetla ładnie i tak jak chce, lecz problem się pojawia gdy chce dodawać do bazy, albo mi dodaje pierwszy wynik, albo ostatni. Kombinowałem też z foreach i while, ale to samo, albo pierwszy wynik mi dodaje, albo ostatni.
Kod dodawania do bazy:

  1. $check_gr = mysql_query("select * FROM user_groups");
  2. $check_gr = mysql_num_rows($check_gr);
  3.  
  4. if (empty($check_gr)) {
  5. $query_groups = "INSERT INTO user_groups (fid,grup_id,grup_name,grup_admin) VALUES ('$fid','$grup_id','$grup_name','$grup_admin')";
  6. mysql_query($query_groups);
  7. }


Będę mega wdzięczny za rozwiąznie problemu.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
nospor
post
Post #2





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




Kod dodajacy do bazy musi byc w petli, ktora pobiera dane a nie poza nia.... to chyba dosc oczywiste


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

"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
kamykthm
post
Post #3





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 12.08.2009

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


Cytat(nospor @ 26.08.2013, 15:57:56 ) *
Kod dodajacy do bazy musi byc w petli, ktora pobiera dane a nie poza nia.... to chyba dosc oczywiste

Jasna sprawa, ale celowo 'rozdzieliłem kod'. Teraz mi dodaje, tylko że mi powiela wyniki i mi dodaje kilkanaście razy to samo.
  1. foreach ($user_groups->data as $gp) {
  2. $grup_id = $gp->name;
  3. $grup_name = $gp->id;
  4. $grup_admin = $gp->administrator;
  5.  
  6. $query_groups = "INSERT INTO user_groups (fid,grup_id,grup_name,grup_admin) VALUES ('$fid','$grup_id','$grup_name','$grup_admin')";
  7. mysql_query($query_groups);
  8.  
  9. }


Ten post edytował kamykthm 26.08.2013, 15:02:39
Go to the top of the page
+Quote Post
nospor
post
Post #4





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




Cytat
Jasna sprawa, ale celowo 'rozdzieliłem kod'
To nie rozdzielaj bo skad niby mamy wiedziec na jakim faktycznie kodzie pracujesz i jaki jest ostateczny blad...

Cytat
Teraz mi dodaje, tylko że mi powiela wyniki i mi dodaje kilkanaście razy to samo.
Widac kilkanascie razy to samo zwraca ci petla. Chyba ze znowu kod zatailes przed nami.

  1. foreach ($user_groups->data as $gp) {
  2. print_r($gp); //DODAJ TO TU
  3. $grup_id = $gp->name;
  4.  
  5. $grup_name = $gp->id;
  6.  
  7. $grup_admin = $gp->administrator;
  8.  
  9.  
  10.  
  11. $query_groups = "INSERT INTO user_groups (fid,grup_id,grup_name,grup_admin) VALUES ('$fid','$grup_id','$grup_name','$grup_admin')";
  12.  
  13. mysql_query($query_groups);

Dodaj to print_r i pokaz co wyswietla


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

"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
kamykthm
post
Post #5





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 12.08.2009

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


print_r daje to:
  1. stdClass Object ( [name] => AAA [unread] => 6 [bookmark_order] => 5 [id] => 111 )
  2. stdClass Object ( [name] => BBB [unread] => 5 [bookmark_order] => 7 [id] => 222 )
  3. stdClass Object ( [name] => CCC [administrator] => 1 [bookmark_order] => 3 [id] => 333 )
  4. stdClass Object ( [name] => DDD [administrator] => 1 [bookmark_order] => 1 [id] => 444 )
  5. stdClass Object ( [name] => EEE [unread] => 25 [bookmark_order] => 4 [id] => 555 )
  6. stdClass Object ( [name] => FFF [unread] => 25 [bookmark_order] => 9 [id] => 666 )
  7. stdClass Object ( [name] => GGG [unread] => 25 [bookmark_order] => 6 [id] => 777 )
  8. stdClass Object ( [name] => HHH [unread] => 2 [bookmark_order] => 8 [id] => 888 )
  9. stdClass Object ( [name] => III [administrator] => 1 [bookmark_order] => 2 [id] => 999 )
Go to the top of the page
+Quote Post
nospor
post
Post #6





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




A do bazy dodaje sie kilkanascie AAAA i ani jednego BBBB ? Cos krecisz wink.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
kamykthm
post
Post #7





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 12.08.2009

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


Nic nie kręce, tylko może nie zrozumiełeś zdania lub ja zamieszałem. Dodaje mi wszystko po cztery razy:

Tu był screeen, ale się zbył facepalmxd.gif

Ten post edytował kamykthm 26.08.2013, 16:55:28
Go to the top of the page
+Quote Post
nospor
post
Post #8





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




A widzisz, znaczy, ze odpalasz ten kod poczwornie smile.gif Same z siebie kody takich rzeczy nie robią.


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

"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
kamykthm
post
Post #9





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 12.08.2009

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


Odpalam go tak:

  1. $user_groups = json_decode(file_get_contents($graph_groups));
  2.  
  3. foreach ($user_groups->data as $gp) {
  4.  
  5.  
  6. $grup_id = $gp->id;
  7. $grup_name = $gp->name;
  8. $grup_admin = $gp->administrator;
  9.  
  10. $query_groups = "INSERT INTO user_groups (fid,grup_id,grup_name,grup_admin) VALUES ('$fid','$grup_id','$grup_name','$grup_admin')";
  11. mysql_query($query_groups);
  12.  
  13.  
  14. }


fid pobiera mi z innego kodu
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




1) Albo odpalasz to w jakiejs petli
2) Albo kilka razy w roznych plikach
3) Albo uzywasz mod rewrite i odpalasz w przegladarce przez nieistniejace pliki np. favicon, i nawet o tym nie wiesz
Wiec sprawdz, bo innej przyczyny 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

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





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 12.08.2009

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


Masz racje, zapętliłem php'a trochę... w inny miejscu wink.gif Dzieki!
Go to the top of the page
+Quote Post
nospor
post
Post #12





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




Za kazdym razem w takim przypadku jest tak samo:
najpierw sie zarzekaja ze nie robia tego kodu kilkukrotnie, ale setnym razem jak powiesz ze jednak robia, to dopiero wtedy sprawdzaja i sie okazuje ze faktycznie robia....
Musze se zapisywac takie tematy i na dawac je gdy ktos zacznie sie tylko zarzekac ze robi kod tylko raz a dane do bazy magicznie same sie dodaja.


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

"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: 20.08.2025 - 19:10