2017-11-25 18 views
-3

를 사용하고 다른 사람은(SQL) 입력 을 임대하고 자신의 방/집을 게시 할 수있는 임대 주택/방 사용자를 찾기 위해 내가 프로젝트를 만들고 싶어 선택 문

첫 번째 사용자가 다음 로그인해야지도를 볼 수 있습니다 그는 자신의 위치를 ​​테이블 위치에 등록합니다. 테이블 위치는 id_location, lat, lng, id_user 등으로 구성됩니다. id_location은 자동 증분이며 기본 키입니다. id_user는 사용자가 로그온 한 세션에서 가져온 것으로, 해당 사용자 이름 인 외부 키를 읽습니다. 나머지는 사용자 거 예를 임대 주택이나 방을 선택이다 내가이 시점

하고 다음 일까지하게 성공했습니다 사용자가 입력 이다; 그들은 방을 빌리고 싶어. 이 객실 테이블에는 id_room, id_user, id_location, rate 등이 있습니다. id_room은 자동 증가, 기본 키입니다. id_user는 사용자가 로그온 한 세션의 사용자 이름이므로 사용자 이름을 읽습니다. 이고 id_location에 문제가 있습니다. 데이터베이스가 마지막 위치 입력/위치 tbl에서 해당 id_location을 가질 수있는 방법은 무엇입니까? 1 개 이상의 실내로의 형태를 가질 수있는 위치 등 레이트, 설비, 또는 그와 같이 상이 할 수 있기 때문에

가 그래서 그것을 각 방을위한 여러 입력 확인 다음 사용자가 생성 할 그 내가 선택에 대해 뭔가를 읽었습니다

자신의 방 각 방에 대한 데이터 만 같은 id_location

내가

insert into tbl_room 
values (null, '$_SESSION[username]', '$rate','$bla' ,'...','...' ,'...' ,) 
where id_location from location.id_location 

같은 것을 의미하지만 난 '경우'입력 시나리오에있을 어차피 알고 있습니다 .. 역 tement 하지만 난, 내 경우에는 그 선택의 작품, 난 정확한 쿼리 내가 통해 UR 당신이 한 많은 관계가이 경우에 내 문제에 대해

+0

처럼 무언가에 의해 방 위치를 얻을 수 있습니다 INSERT INTO' (https://dev.mysql.com/doc/refman/5.7/en/inse)를보고 싶을 수도 있습니다. rt.html) 대신'SELECT'를 사용합니다. –

+1

[삽입 할 값 ... (SELECT ... FROM ...)] 가능한 복제본 (https://stackoverflow.com/questions/25969/insert-into-values-select-from) – yacc

답변

0

be4 덕분에 이해를 바랍니다

될 것입니다 의미하는 방법을 잘 모릅니다 한 곳에 많은 방이있을 수 있습니다. 간단한 해결책은 방이 속한 위치에서 위치 ID를 참조하는 열을 실 테이블에 놓는 것입니다.

당신은

Create table locations (
    Id int auto_increment, 
    Location varchar(100) 
) 

Create table rooms (
    Id int auto_increment, 
    Location_id int 
) 

ALTER TABLE rooms ADD CONSTRAINT fk_location 
    FOREIGN KEY (location_id`) REFERENCES locations (id) 

가 삽입이 유사 할 것 MySQL을

에 이런 일을 할 수 있습니다 :

Insert into room (location_id) values ({$locationId}); 

을 그리고 당신은

Select l.location 
From location l 
    Inner join rooms r on r .id_location = l.id 
Where r.id = {$roomId}