Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Zapisanie rekordu do tablicy
Forum PHP.pl > Forum > Przedszkole
user767
W jaki sposób zapisać rekordy do tablicy z bazy?
blahy
msql_fetch_array?
user767
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.
Spawnm
W sql pobierasz dane z 2 tabel dzięki join .
user767
Czy idzie w takim zapytaniu pobrac do zmiennej wartość z pola?

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


nie działa
Ulysess
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'];
user767
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?
lord2105
Możesz jaśniej?
user767
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 ?


lord2105
proszę użyć RIGHT JOIN
user767
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)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.