2012-03-10 3 views
-1

Может кто-то дать мне быстрый намек на то, как я могу добиться следующего:Проверить последняя запись перед вставкой в ​​БД

У меня есть таблица с 3-мя строками: id, value1 и user.

скажем, есть одна запись в БД со следующими данными: 1, test, user1

Теперь, когда я представляю свою форму и до того, как следующая вещь получает на самом деле вставлен, я хочу, чтобы проверить значение user последней записи в БД и изменить следующую запись в любой user1 (если последний является user2) или user2 (если последний является user1)

Edit:

I-й Я объяснил это немного глупо.

В основном я хочу какой-то зебра для строки user если это имеет больше смысла :-)

+0

Вы должны были сказать, что сначала «ИЗМЕНИТЬ». Это не путь, чтобы перейти на зебру. Просто добавьте класс «нечетный» и «четный» в строки, альтернативно, когда вы показываете таблицу и ставите их по своему желанию ... – redDevil

ответ

1

Это может быть еще проще:

SELECT user FROM table ORDER BY id DESC LIMIT 1 

Если предположить, что идентификатор является поле AI.

EDIT: добавить некоторые 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

Вы можете продолжить, выполнив запрос как SELECT user FROM table WHERE ID IN(SELECT MAX(ID) FROM table) , а затем использовать это значение пользователя, чтобы определить, какие следующее значение для пользователя будет.

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

Похоже, вам нужен зебра на выходе, не вставляйте время.

Смежные вопросы