Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] Praca z dwoma tabelami
Forum PHP.pl > Forum > Przedszkole
audifan
Mam w bazie danych dwie tabele.
W pierwszej tabeli: producenci są:
prod_id | prod_name,
natomiast w drugiej: modele są:
model_id | prod_cat | model_name

Teraz jak połączyć ze sobą pola prod_id i prod_cat.
Może lepiej pokaże jakiś przykład:
tabela producenci:
1 | audi
2 | bmw
tabela modele:
1 | 1 | allroad
2 | 1 | avant

Teraz jak wyciągam dane z tabeli modele to biore tylko pole prod_cat i model_name.
Skrypt musi wiedzieć, ze jeżeli ma w prod_cat 1 to jest audi, 2 to bmw.
Zeby on brał to z tej pierwszej tabeli.
I jak to później wyświetlić, żeby było:
audi allroad.
wojto
[php:1:905d22f570]<?php
$sql=mysql_query("SELECT p.id,p.nazwa,m.id AS m_id,m.producent,m.nazwa AS m_nazwa FROM producenci p,modele m WHERE m.producent=p.id");

while($row=mysql_fetch_array($sql))
{
echo $row['m_nazwa']." - ".$row['nazwa'];
}
?>[/php:1:905d22f570]

to ci wyswietli takie cos:
Kod
allroad - audi

allroad - avant


gdybys mial jeszcze w tabeli modele rekord: 3|2|850i

to by tez wyswietlilo "850i = bmw"

edit: pobierac mozesz tylko: p.nazwa i m.nazwa AS m_nazwa
audifan
Wszystko działa.
Jeszcze mam pytanie.
Mam zmienną marka przekazywaną przez adres.
I teraz chcę, że jak wpisze adres?marka=1 wyświetli mi wszystkie modele audi, wpisze ?marka=2 modele BMW.
hwao
[php:1:0fd7e4a2eb]<?php
$sql=mysql_query("SELECT p.id,p.nazwa,m.id AS m_id,m.producent,m.nazwa AS m_nazwa
FROM producenci p,modele m WHERE m.producent=p.".$_GET['marka'].";");
?>[/php:1:0fd7e4a2eb]
chyba to zadziala... smile.gif
(Podnien z poprzednim)
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.