2012-03-10 2 views
-1
에 삽입하기 전에

은 누군가가 나에게 나는 다음과 같은 달성 할 수있는 방법에 대한 간단한 힌트를 줄 수 있습니다. 지금은 내 양식을 제출하고 다음 일은 실제로 삽입되기 전에, 나는 user의 값을 확인하고자 할 때 1, test, user1확인 마지막 항목 DB

:

의 다음과 같은 데이터로 DB에 1 개 항목이있다 가정 해 봅시다 일

내가 :

편집 (마지막 하나는 사용자 1 인 경우) 또는 user2 (마지막 하나는 사용자 2 인 경우)와 DB의 마지막 항목 중 하나 user1에 다음 항목을 변경 잉크 나는 그것을 약간 바보라고 설명했다. 즉 당신은 무엇을 결정하기 위해 해당 사용자의 값을 사용하여 다음 SELECT user FROM table WHERE ID IN(SELECT MAX(ID) FROM table) 같은 쿼리를 실행에 의해 진행할 수

+0

'EDIT'를 먼저 말해야합니다. 이것은 얼룩말 스트라이핑 테이블로가는 방법이 아닙니다. 그냥 테이블에 스타일을 표시하고 싶을 때 행에'odd' 클래스와'even' 클래스를 추가하면됩니다. – redDevil

답변

1

: 해당 ID를 가정

SELECT user FROM table ORDER BY id DESC LIMIT 1 

은 AI 필드입니다.

편집 : 일부 PHP 코드를 추가 :

$getLastUser = mysql_query("SELECT user FROM table ORDER BY id DESC LIMIT 1"); 
$LastUser = mysql_fetch_array($getLastUser); 

$newUser = ($LastUser['user'] == "user1") ? "user2" : "user1"; 

//insert $newUser to the 'user' field. 
+0

감사합니다. – user990767

+0

그것은 나에게 이해가되지 않지만. –

+0

왜 downvote? 왜 이해가 안되니? 솔루션은 간단하고 SQL과 php를 OP가 요구하는대로 결합합니다. –

1

:-) 더 이상 의미가있는 경우

기본적으로 내가 행 user에 대한 얼룩말 줄무늬의 어떤 종류를 원한다 다음 사용자 값이됩니다.

그것은 더 쉽게 할 수 있습니다
0

동시성 문제를 방지하려면를 하나 개의 문장으로 모든 것을 할 : 당신이 출력에서 ​​당신의 얼룩말 스트라이핑이 필요한 것처럼

INSERT INTO your_table (value1, user) 
VALUES ('your_value', (CASE (SELECT user FROM your_table ORDER BY id DESC LIMIT 1) WHEN 'user1' THEN 'user2' WHEN 'user2' THEN 'user1' END)) 
0

가 보이는, 시간을 넣지 마라.