2010-04-14 5 views
0

중복 항목에 대한 문제가 계속 발생하여 데이터베이스를 확인해야하며 사용자가 이미 해당 일을 입력 한 경우 해당 항목이 제출되지 않고 해당 항목이 방문 페이지로 리디렉션됩니다. 그들이 이미 그날에 들어갔다는 것을 알려줍니다. 그리고 그들은 내일 다시 만날 수 있습니다.PHP mySQL 데이터베이스 검사

내가 확인하고 싶은 필드는 각 사용자가 고유 한 ID 번호를 가지고 있기 때문에 데이터베이스의 id_number 필드입니다. 기본적으로 같은 날짜에 동일한 ID 번호를 가진 사용자가 자신의 ID로 리디렉션되어야합니다. 방문 페이지에 대해 어떻게해야합니까? 나는 아직도이 일에 신감이 많으므로 용서 해주십시오.

고지.

+0

그것은 도움이 될 것입니다 당신을 도와줍니다. "id_number"외에도 날짜 또는 타임 스탬프 필드가있을 것입니다. 기본적으로 행을 삽입하기 전에 동일한 ID와 날짜를 가진 행이 이미 있는지 확인하십시오. – Paul

+0

고맙습니다, 그 트릭을! – Odyss3us

답변

0

새 레코드를 추가하기 위해 SQL 쿼리를 제출하기 전에 먼저 ID가 이미 있는지 확인하기 위해 DB를 읽을 수 있습니다. 사용자 ID를 변수로 가져 와서이 쿼리를 수행하십시오.

그러면 반환되는 레코드 수를 계산하고 결과에 따라 다른 작업을 수행하여 추가하기 전에 0을 확인하십시오. 0이 아니면 리디렉션됩니다.

if(mysql_num_rows($result) > 0) 
{ 
//add them 
} 
else 
{ 
//redirect them 
} 

희망이 당신이 MySQL의 테이블 레이아웃을 제공하는 경우

+0

나는 mysql_num_rows ($ result) == 0을 의미한다고 생각한다. –

+0

멋지다. 나는 그렇게 빨리해볼 것이다. 특정 ID 번호가 같은 날짜에 삽입되었는지 어떻게 확인할 수 있습니까? 그들은 기본적으로 다음날 양식을 제출할 수 있어야하기 때문에 각 사용자는 하루에 한 번만 제출할 수 있기 때문에 이런 식으로 보일까요? $ query = "mytable에서 선택 * 여기서'id' = '$ id'&& 'date'= '$ date'"; – Odyss3us

+0

select * from mytable 여기서'id' = '$ id'AND'date' = '$ date' – Ergec

관련 문제