2015-02-05 2 views
-4

나는 php와 mysql 데이터베이스를 사용하여 예약 시스템을 만들고있다. 시스템에는 로그인하여 예약 할 수있는 사용자가 여러 명 있으므로 사용자 세션을 기반으로 레코드를 선택하는 방법을 알고 싶습니다. 현재 사용자가 모든 예약에 액세스 할 수 있음을 의미하는 모든 예약 레코드 만 선택합니다.다른 사용자의 mysql에서 레코드를 가져 오는 방법

나는 기록을 예약 한 예약 테이블과 사용자 credentials.Is 또한 거기에있는 사용자 테이블 두 테이블

당신은 당신의 데이터베이스의 각 사용자에 대한 고유 ID를 생성 할 필요가
+0

이것은 기본 MySQL입니다. 구글 "mysql 가입 튜토리얼". –

+0

테이블 구조를 게시 할 수 있습니까? 기본적으로 예약 테이블의 사용자 (예 : "user_id")에 예약을 연결하는 필드가 필요합니다. –

+0

예약과 사용자 인 2 개의 테이블이 있습니다. 예약 테이블에는 bookingid, 날짜, 시간, 유형, 차량 등의 필드가 있습니다.사용자 테이블에 ID, 사용자 이름, 비밀번호 및 전자 메일이 있습니다. – r93

답변

0

에서 레코드를 선택하는 방법이있다. Primary Key을 사용하고 Auto Increment로 설정하십시오.

로그인 할 때 유효한 자격 증명을 확인한 후 데이터베이스에서 ID를 가져 와서 세션 변수에 저장하십시오.

사용자 ID 열을 사용하여 예약 테이블을 생성하십시오. 예약에 사용자 ID를 지정하십시오. 사용자의 예약을 조회하려면 사용자 ID를 조회에 포함 시키십시오.

+0

현재 세션 변수에 사용자 이름을 저장하고 있습니다. – r93

0

사용자 테이블에는 고유 한 ID가 있어야합니다.

귀하의 예약 테이블에는 필드 사용자 ID가 있습니다. 예약을 추가 할 때 사용자 ID를 해당 필드에 저장합니다.

그런 다음 예약을 검색하려면 특정 사용자 ID와 일치하는 레코드를 선택하십시오.

예약 테이블에 사용자 ID 필드가있는 것을 foreign key이라고합니다. 그것은 당신이 SQL로 무엇을하는지에 대한 기초입니다. 이 방법으로 설정하면 join을 수행 할 수 있습니다. 여기서 두 개 이상의 테이블에서 모든 데이터를 가져오고 키 값을 기준으로 행을 결합합니다.

SELECT * FROM users,bookings WHERE bookings.id=users.id; 

이 당신에게 모든 예약 데이터가 기록을 다시 줄 것이다, 그 예약을 한 사용자에 대한 모든 사용자 데이터 : 그래서 귀하의 경우에 당신이 뭔가를 할 수 있습니다. 당신은 또한 할 수 :

SELECT * FROM bookings where users.id=3; 

는 ID로 당신에게 사용자에 대한 모든 예약 데이터를 제공 할 어떤 3.

또한 다른 분야에 일치하지만, 외래 키가는 것을 보장하기 위해 가입으로 있음을 유지할 수 있습니다 당신은 항상 예약과 사용자 사이의 정확한 링크를 얻습니다.

SELECT * FROM users,bookings WHERE users.surname="Doe" AND bookings.id=users.id; 

당신은 너무 역에서 사용할 수 있습니다 - 예를 들어, 당신은 지정된 날짜에 예약하는 모든 사용자에 대한 사용자 정보를 얻으려면, 당신이 뭔가를 할 수 있습니다 :

SELECT * FROM users WHERE bookings.date='03/03/2015' AND users.id=bookings.id; 

알 수 있듯이 해당 사용자 ID를 예약 테이블에 추가하면 데이터를 서로 연결하여 여러 테이블에 분할되어 있어도 단일 레코드로 데이터를 가져올 수 있으므로 많은 가능성을 열어줍니다.

+0

이미 사용자 테이블의 ID가 있습니다. 내 예약 테이블에서 동일한 필드를 사용해야합니까? 사용자 세션을 기반으로 모든 사용자의 사용자 세부 정보를 검색 할 수 있습니다. 다른 사용자의 예약 검색에 대해 동일한 개념을 따르려고합니다. – r93

+0

예 - 귀하의 예약 테이블에있는 사용자의 ID 만 넣으면 동일한 사용자 테이블/예약 데이터를 사용할 수 있습니다. . 위의 내 대답에 대한 세부 정보를 추가했습니다. 도움이되기를 바랍니다. –

+0

예약 테이블에서 ID, 날짜 및 시간은 물론 사용자의 아이디와 아이디를 선택하고 싶습니다. 사용자 세션으로 사용자 이름을 지정하고 다른 사용자가 만든 예약을 표시해야합니다. 어떻게 내가 이것을 선택하기 위해 SQL 문으로 쓸 것인가? – r93

관련 문제