Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Zapisanie rekordu do tablicy
user767
post
Post #1





Grupa: Zarejestrowani
Postów: 178
Pomógł: 5
Dołączył: 13.09.2010

Ostrzeżenie: (40%)
XX---


W jaki sposób zapisać rekordy do tablicy z bazy?
Go to the top of the page
+Quote Post
blahy
post
Post #2





Grupa: Zarejestrowani
Postów: 82
Pomógł: 22
Dołączył: 20.07.2010

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


msql_fetch_array?
Go to the top of the page
+Quote Post
user767
post
Post #3





Grupa: Zarejestrowani
Postów: 178
Pomógł: 5
Dołączył: 13.09.2010

Ostrzeżenie: (40%)
XX---


A jak w tym warunku wyciągnąć z innej tablicy inne dwie zmienne? potrzebuje do opisu Optiona, id już mam z tablicy powiązanej... To miałoby być zapytanie w zapytaniu, bo do utworzenia optiona potrzebuje danych z dwóch tabel.
Go to the top of the page
+Quote Post
Spawnm
post
Post #4





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




W sql pobierasz dane z 2 tabel dzięki join .
Go to the top of the page
+Quote Post
user767
post
Post #5





Grupa: Zarejestrowani
Postów: 178
Pomógł: 5
Dołączył: 13.09.2010

Ostrzeżenie: (40%)
XX---


Czy idzie w takim zapytaniu pobrac do zmiennej wartość z pola?

  1. $id_tabeli_powiązanej = $r['nazwa_tabeli.pole'];


nie działa
Go to the top of the page
+Quote Post
Ulysess
post
Post #6





Grupa: Zarejestrowani
Postów: 695
Pomógł: 65
Dołączył: 27.07.2009
Skąd: Y

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


O.o pobierasz JOINem i jeżeli nazwy pól z różnych tabel nie powtarzają się to
  1. $zapytanie = 'treść zapytania....';
  2. $wykonano = mysql_query($zapytanie);
  3. $dane = mysql_fetch_assoc($wykonano);
  4. i wtedy np chcesz wyświetlić poszczególne dane robisz tak:
  5. echo $dane['nazwa_pola'];

jeżeli jednak nazwy pól się powtarzają to robisz tak: `nazwa_pola` alias_pola, i wtedy jeśli chcesz wyświetlić nie robisz echo $dane['nazwa_pola'] tylko echo $dane['alias_pola'];
Go to the top of the page
+Quote Post
user767
post
Post #7





Grupa: Zarejestrowani
Postów: 178
Pomógł: 5
Dołączył: 13.09.2010

Ostrzeżenie: (40%)
XX---


Jak wyeliminować powtórzenia, jeśli wczytuje dane do selecta multiple z 2 tabel - pierwszej i powiązanej z id. Po wybraniu przekazuje je do skryptu?
Go to the top of the page
+Quote Post
lord2105
post
Post #8





Grupa: Zarejestrowani
Postów: 380
Pomógł: 59
Dołączył: 24.04.2010
Skąd: London

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


Możesz jaśniej?


--------------------
40% rozwiązań znajduje się tutaj.
59,9% tutaj.

Jeśli pomogłem rozwiązać Twój problem wciśnij
Go to the top of the page
+Quote Post
user767
post
Post #9





Grupa: Zarejestrowani
Postów: 178
Pomógł: 5
Dołączył: 13.09.2010

Ostrzeżenie: (40%)
XX---


tab1
id ...inne dane

tab2
id ...inne dane

tab_pow
id id1_tab1 id1_tab2

Czyli na przykład id1_tab1 powiązane z tab2 lub id2_tab2 powiązane z tab1. I teraz w tab_pow dla każdego rekordu mam inną wartość i tu trzymam te zależności.

tab_pow
1 | 1 | 1
2 | 1 | 2
3 | 2 | 1

Mam zapytanie left join on
  1. $query="SELECT * FROM tab1 left join tab_pow on tab1.id=tab_pow.id_tab1 left join tab2 on tab2.id=tab_pow.id_tab2 ";


Które powinno mi dać możliwość operowania na wszystkich kolumnach.
Jednak dane z tab1 lub tab2 wyświetlają się podwójnie.
Zaznaczam optiony według funkcji i if.
Jak uniknąć tutaj powtórzeń z tab_pow ?


Go to the top of the page
+Quote Post
lord2105
post
Post #10





Grupa: Zarejestrowani
Postów: 380
Pomógł: 59
Dołączył: 24.04.2010
Skąd: London

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


proszę użyć RIGHT JOIN


--------------------
40% rozwiązań znajduje się tutaj.
59,9% tutaj.

Jeśli pomogłem rozwiązać Twój problem wciśnij
Go to the top of the page
+Quote Post
user767
post
Post #11





Grupa: Zarejestrowani
Postów: 178
Pomógł: 5
Dołączył: 13.09.2010

Ostrzeżenie: (40%)
XX---


Rozwiązanie:

  1. SELECT DISTINCT table1.id, table1.field2, table1.field3, tab_id.id_table1 FROM table1 left join tab_id on (table1.id=tab_id.id_table1)


Ten post edytował user767 1.10.2010, 19:12:47
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: 21.08.2025 - 23:52