2010-04-14 4 views
0

У меня возникают бесконечные проблемы с дублирующимися записями, поэтому мне нужно проверить базу данных, и если пользователь уже ввел этот день, их запись не будет отправлена, и они будут перенаправлены на целевую страницу, говорит им, что они уже вошли в этот день, и что они могут завтра снова войти.Проверка базы данных PHP mySQL

Поле, которое я хотел бы проверить, - это поле id_number в базе данных, поскольку каждый пользователь имеет уникальный идентификационный номер, поэтому в основном, если пользователь с таким же идентификационным номером, представленным в тот же день, должен быть перенаправлен на целевую страницу, как я могу это сделать? Я все еще новичок в этом, поэтому, пожалуйста, прощайте.

Thanx заранее.

+0

Было бы полезно, если бы вы предоставили макет таблицы MYSQL. Помимо «id_number» у вас, вероятно, будет поле даты или времени? В принципе, перед установкой строки просто проверьте, есть ли уже строка с тем же идентификатором и датой. – Paul

+0

Thanx, это сделал трюк! – Odyss3us

ответ

0

перед отправкой вашего запроса sql для добавления новой записи вы можете сначала прочитать БД, чтобы убедиться, что идентификатор еще не установлен. Получите идентификатор пользователя в переменной и выполните этот запрос.

$query = "select * from mytable where `id` = '$id'"; 
$result = mysql_query($query); 

, то вы можете подсчитать количество записей, возвращаемых и делать разные вещи в зависимости от результата проверки, что его нулевой перед добавлением их. Если его не ноль, то перенаправление.

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

Надеюсь, что это помогает вам

+0

Я думаю, вы имеете в виду mysql_num_rows ($ result) == 0 –

+0

Это выглядит великолепно, я попробую это быстро. Как я могу проверить, был ли этот номер идентификатора вставлен в ту же дату? Потому что они в основном должны иметь возможность отправить форму на следующий день, так как каждому пользователю разрешено только одно представление в день ... может быть, это выглядит примерно так? $ query = "select * from mytable где' id' = '$ id' && где 'date' = '$ date' "; – Odyss3us

+0

выберите * from mytable где 'id' = '$ id' AND' date' = '$ date' – Ergec

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