Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Dodawanie rekordów z kilku tablic
ghastblood
post
Post #1





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

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


Witam mam taki mały problem normalnie dodawałem wartości z zaznaczonych checkboxów w ten sposób

  1.  
  2. db_connect($host, $user, $pass, $base);
  3.  
  4. $konkurencje1 = $_POST['konkurencja'];
  5.  
  6. $q5 = mysql_query("SELECT * FROM zawodnik WHERE zawodnik_nazwisko = '".$_POST['nazwisko_zawodnik']."' AND zawodnik_imie = '".$_POST['imie_zawodnik']."' ORDER BY zawodnik_id DESC LIMIT 1") or die(mysql_error());
  7.  
  8. $r5 = mysql_fetch_assoc($q5);
  9.  
  10. foreach($konkurencje1 as $id)
  11. {
  12. mysql_query("INSERT INTO zawodnik_konkurencje(zawodnik_konkurencje_id,zawodnik_konkurencje_zawodnik_id, zawodnik_konkurencje_konkurencje_id) VALUES ('', '".$r5['zawodnik_id']."', '".$id."')") or die(mysql_error());
  13. }
  14. db_close();
  15.  


a teraz mam taki że doszły mi jeszcze 3 tablice i pojawił się problem


  1. $pawilon1 = $_POST['pawilony'];
  2. $stanowisko1 = $_POST['stanowisko'];
  3. $godzina1 = $_POST['godzina'];



Jak dodawać dane za jednym zamachem? bo mógł bym zrobić 4 foreache i updatować dane ale to rozwiązane raczej nie jest optymalne.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
ghastblood
post
Post #2





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

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


Wow wasz chęć nabicia posta mnie powala jak nie zauważyłeś znam polecenie INSERT INTO oraz UPDATE moje pytanie dotyczy zupełnie czego innego.
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #3





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Jeśli dobrze zrozumiałem problem, to zrób raczej cztery zapytania w jednym foreach. Jeśli nie w tym rzecz to opisz swój problem bardziej szczegółowo.


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
ghastblood
post
Post #4





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

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


dodając 4 zapytania do jednego foreach 1 przebieg pętli będzie tworzył by 4 osobne rekordy. Chodzi mi o dodanie 4 różnych wartości z 4 różnych tablic do jednego rekordu.

tablica1 = dodaje mi 1 wartość do rekordu
tablica2 = dodaje mi 2 wartość do rekordu
itd.

tu jest kod który dodaje 1 wartość do mysql a konkretnie id_konkurencji
  1. foreach($konkurencje1 as $id)
  2. {
  3. mysql_query("INSERT INTO zawodnik_konkurencje(zawodnik_konkurencje_id,zawodnik_konkurencje_zawodnik_id, zawodnik_konkurencje_konkurencje_id) VALUES ('', '".$r5['zawodnik_id']."', '".$id."')") or die(mysql_error());
  4. }


a potrzebował bym dodać jeszcze pawilon stanowisko i godzinę.
Go to the top of the page
+Quote Post
deadwheel
post
Post #5





Grupa: Zarejestrowani
Postów: 26
Pomógł: 2
Dołączył: 8.11.2011

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


Hmm moze tak jezeli masz tyle samo rekordow co tych checkboxow czyli poprostu jakbys wszedzie dodawal updejtowal to ja to widze tak

Robisz licznik i petla while i w petli dajesz sobie $tablica[$licznik] $tablica2[$licznik] itd i zapytanie
Go to the top of the page
+Quote Post
ghastblood
post
Post #6





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

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


mam formularz po kolej

checkbox(name="konkurencja[id_konk]") - nazwa konkurencji - select(pawilon name="pawion[id_konk]") - select(stanowisko name="stanowisko[id_konk]") - select(godzina name="godzina[id_konk]")
i teraz
if(checkbox == checked) aktywuje selecty

jeden zaznaczony checkbox = 1 rekord czyli id, id_zawodnika, id_konkurencji , nazwa_pawilonu, numer_stanowiska, godzina

czyli przy 2 zaznaczonych checkboxach mam 4 tablice konkurencje(1,2) pawilon(50m, 25m) itd

Ten post edytował ghastblood 23.06.2013, 00:32:53
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #7





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Widzę że wszystkie te tablice powiązane są wspólnym kluczem ID, tak więc:


  1. foreach ($tablica as $key => $value) {
  2. echo $value . $tablica1[$key] . $tablica2[$key]; // itd.
  3. }



Rozumiesz w czym rzecz, prawda?


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
ghastblood
post
Post #8





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

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


dzięki o to mi chodziło.
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:53