|
|
|
| У меня база, где существуют рубрики, под каждую созданна таблица, как ограничить ввод пользователем инфы, чтоб на один номер телефона приходилось не больше одной записи в одну таблицу/рубрику. под номер телефона имеется соответствующее поле в каждой таблице. | |
|
|
|
|
|
|
|
для: Vadim777
(13.09.2005 в 15:30)
| | Для этого пред внесением в таблицу новой записи, следует проверить нет ли в таблице записи с таким номером телефона, если есть, то новую запись добавлять не следует, если нет - то добавляем новую запись. | |
|
|
|
|
|
|
|
для: cheops
(13.09.2005 в 18:44)
| | А можно еще использовать индекс UNIUQE. Тогда сама СУБД будет отслеживать это дело. | |
|
|
|
|
|
|
|
для: Ziq
(14.09.2005 в 06:47)
| | Простите за невежество, как это сделать, т.е. нужно придать полю "телефон" - свойство уник, как? | |
|
|
|
|
|
|
|
для: Vadim777
(14.09.2005 в 15:20)
| | Для этого необходимо проиндексировать поле "телефон", т.е. создать на нём уникальный индекс, например, при помощи оператора CREATE INDEX, синтаксис которого можно посмотреть в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=419 | |
|
|
|
|
|
|
|
для: cheops
(14.09.2005 в 21:28)
| | Я сделал так: залез в phpmyadmin и в поле телефон клацнул опцию "уникальное". Это правильно и достаточно? | |
|
|
|
|
|
|
|
для: Vadim777
(15.09.2005 в 10:43)
| | Да. | |
|
|
|
|
|
|
|
для: Vadim777
(14.09.2005 в 15:20)
| | - | |
|
|
|
|
|
|
|
для: cheops
(14.09.2005 в 21:28)
| | Да работает, т.е. новые данные не вносятся на тот же телефон, но подскажите как сформулировать комманду: " Извините, но у вас уже имеется информация в базе данных" if ($tel = $_POST['$tel'] )
{
echo " Извините, но у вас уже имеется информация в базе данных";
exit;
}
??? | |
|
|
|
|
|
|
|
для: Vadim777
(15.09.2005 в 10:54)
| | Нужно проверять перед добавлением имеется такой телефон в базе или нет.
SELECT COUNT(*) FROM tbl_tel WHERE tel = $_POST[tel]
|
| |
|
|
|
|
|
|
|
для: cheops
(15.09.2005 в 13:58)
| | Для особо одаренных как "select..... соединить с "insert....
или это
$query="SELECT COUNT(*) FROM table_name WHERE tel = $_POST['tel']";
if (tel = $_POST['tel'])
{
echo 'Извините: но у вас уже имеется информация в базе. ';
exit;
}
$query="insert...
не работает | |
|
|
|
|
|
|
|
для: Vadim777
(16.09.2005 в 11:08)
| | что конкретно неработает?
запрос вы составили
$query="SELECT COUNT(*) FROM table_name WHERE tel = $_POST['tel']";
|
а направить его в MYSQL?
$result=mysql_query($query);
|
а в строке
tel это константа или переменная? | |
|
|
|
|
|
|
|
для: napTu3aH
(16.09.2005 в 11:44)
| | благодарю всех! - работает так:
$query="SELECT COUNT(*) FROM table_name WHERE tel = '".$_POST['tel']."'";
$result = mysql_query($query);
if ($result)
{
echo 'извините: Но у вас уже имеется запись в базе. ';
exit;
}
|
Правильна она или нет?
Но работает!!!
Спасибо! | |
|
|
|
|
|
|
|
для: Vadim777
(16.09.2005 в 13:09)
| | Нет... это код будет работать не верно - он всегда будет говорить 'извините: Но у вас уже имеется запись в базе. ', даже если телефона нет. Следует писать следующим образом
<?php
$query="SELECT COUNT(*) FROM table_name WHERE tel = '".$_POST['tel']."'";
$result = mysql_query($query);
$total = mysql_result($result,0);
if ($total)
{
echo 'извините: Но у вас уже имеется запись в базе. ';
exit;
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(16.09.2005 в 13:20)
| | спасибо! так и есть: без этого не работает! | |
|
|
|