2015-09-04 4 views
0

У меня возникли проблемы с проектом PHP, который мне был дан. Более конкретно, база данных MYSQL беспокоит меня .. Вот идея всего этого:(MYSQL) Выбор последней строки с определенными параметрами

  • Я сделал базу данных уже с 3-х таблиц - T1, T2, Log. T1 хранит имя и код работодателя; T1 хранит имя и код работника; Идентификатор журналов магазинов (автоматически увеличивается), имя работодателя, имя рабочего, дата начала и дата окончания (работы).

  • Я сделал форму с двумя полями - Код для работодателя и код для рабочего. Мой PHP-код проверяет введенные коды в полях (проверяет, пусты ли они, а затем проверяет, соответствуют ли они информации в T1 и T2). Затем с помощью кнопки «Отправить» все данные отправляются и сохраняются в таблице журналов. Но мне пришлось добавить две радиокнопки: один для начала рабочего времени и один для его окончания. При нажатии на кнопку «Пуск» запрос sql делает следующее: вставляет имя работодателя, имя рабочего и начинает дату начала. Эта часть здесь работает безупречно. В столбце «Конечная дата» устанавливается текущая дата после обновления.

Если кнопка End радио нажата, я хочу следующее произойдет: найти в последней строку с выбранным в названиях форм для ого и работника (их ввод кодов в форме, которые проверяются и фактическими именами сохраняются как переменные). Итак, можно сделать что-то вроде:

SELECT ID FROM Log ORDER BY ID DESC LIMIT 1 
WHERE Worker_Name='$nameW' and Employer_Name='$nameE' 
  • $ nameW этого имя работника и $ nameE этого имени работодателя.

Я что-то вроде этого, потому что это дает мне ошибку в целом, где часть и не принимает мой запрос ..

Любая помощь будет оценена. Заранее спасибо!

ответ

2

Ваш запрос не правильно, вы должны поставить заказ и предельная часть в конце (то есть после того, где условия). Правильный запрос для вашей ситуации будет:

SELECT ID FROM Log 
WHERE Worker_Name='$nameW' and Employer_Name='$nameE' ORDER BY ID DESC LIMIT 1 
+0

Это даст вам сообщение об ошибке во время использования с PHP –

+0

большим, большое спасибо, ничего не могли найти по всему Интернету о том, где поместить эти параметры –

2

Ваш запрос неправильно использовать его, как показано ниже:

SELECT `ID` FROM `Log` 
WHERE `Worker_Name`='{$nameW}' and `Employer_Name`='{$nameE}' 
ORDER BY `ID` DESC LIMIT 1