我想做一个项目找一个出租的房子/房间 用户可以发布他的房间/房子出租 和其他人可以在地图上看到它
第一个用户应该登录然后他在表位置注册他的位置。 表位置包括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
但我知道'不能进入输入场景..
我已经阅读了有关select语句的内容 但我不知道选择如何工作在我的情况下,我的意思是确切的查询将是
我希望你能理解我的问题 谢谢be4
答案 0 :(得分:0)
在这种情况下,你有一对多的关系,其中一个位置可以有很多房间。简单的解决方案是在房间桌子上有一个列,该列引用房间所属位置的位置ID。
你可以在MySQL上做出类似的东西
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)
插入与此类似:
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}