Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]operacje na dwu tabelach
Forum PHP.pl > Forum > Przedszkole
piraciq
Witam

takie pytanko

dwie tabelki

1. news
2. users

z pierwszej listuje nagłówek, treść, datę dodania, kto dodał, a teraz chciał bym wyświetlić imię osoby która dodała newsa. Czy jest taka możliwość aby to zrobić jednym zapytaniem questionmark.gif

pozdrawiam
ferrero2
Oczywiście, że jest taka możliwość, między innymi dlatego sam najprostszy Access nagminnie próbuje na Nas wymusić dodawanie klucza podstawowego(unikalnego).
Jeżeli chodzi o Twoje zapytanie wszystko zależy od struktury tabel. Jeżel iutworzyłeś je jak należy, nadając każdemu użytkownikowi unikalną wartość to wystarczy polecenie inner_join.

Hipotetyczne rozwiązanie :

Tabela Newsy:
1.id
2.data_dodania
3.tresc
4.autor (lub przy większych bazach id_autora)

Tabela users
1.id
2.nick
3.data_dolaczenia
4. itd..

zapytanie :
  1. SELECT newsy.tresc, newsy.data_dodania, users.nick FROM newsy INNER JOIN users ON newsy.id = users.id_autora ORDER BY newsy.data_dodania


Mam nadzieję, że o to chodziło.

Pozdrawiam
piraciq
Sorki ale odświeżam temat byłem zdalna od komputera

tabela news:
1, news_id
2, news_title
3,news_content
4,news_when
5,user_id

tabela admin
1, user_id
2,user_name
3,user_last_name

i mam coś takiego
Kod
"SELECT news.news_title,news.news_content, news.news_when, news.user_id, admins.user_name,admins.user_last_name FROM news inner join admins on news.news_id = admins.user_id where news.news_id=$id limit 1


w phpmyadmin zapytanie się wykonuje dobrze ale niestety nic nie zwraca :/
matixrr
news.news_id=$id to chyba powinno byc news.news_id='$id' i majac $id to phpmyadmin nic Ci nie zwroci bo nie wie co to jest $id jak masz dobry kod to Ci w php zadziala worriedsmiley.gif
piraciq
Kod
SELECT news.*, admins.user_name,admins.user_last_name FROM news inner join admins on news.news_id = admins.user_id where news.news_id=1 limit 1

zapytanie wygląda tak

komunikat jaki został zwrócony :MySQL zwrócił pusty wynik (zero rekordów). (Wykonanie zapytania trwało 0.0025 sekund(y))
matixrr
A może:

  1. SELECT * FROM news INNER JOIN admins ON news.news_id = admins.user_id WHERE news.news_id=1 LIMIT 1


questionmark.gif
piraciq
też nic :/
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.