Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.08.2015, 17:24   #1
davidoff_72
 
Регистрация: 25.08.2014
Сообщений: 8
Вопрос Как исключить дублрование внесения данных в базу

Как исключить повторное внесение данных в базу mysql?
Есть такой код:

PHP код:
if ($_POST) 

    
    $kan = isset($_POST['kandidat']) ? (int)$_POST['kandidat'] : null; 
    $vak = isset($_POST['firm']) ? (int)$_POST['firm'] : null; 
    if ( $vak && $kan ) 
    { 
        mysql_query("INSERT INTO `vak_kan`(id_vak, id_candidat) VALUES ('$vak', '$kan')"); 
    } 


?> 
<form action="<?php $_SERVER['PHP_SELF']?>" method="post">
<select name="firm">
<?php
    $selct 
mysql_query("SELECT 
                vakans.id_vak, vakans.koment, vakans.id_firm, vakans.id_dol, 
                firm.id_firm, firm.name_firm,
                dolzgnost.id_dol, dolzgnost.name_dol 
                FROM vakans, firm, dolzgnost 
                WHERE vakans.id_firm = firm.id_firm AND vakans.id_dol = dolzgnost.id_dol 
                ORDER BY name_firm"
);

while(
$res mysql_fetch_array($selct)){

    echo 
"<option value='".$res['id_vak']."'>".$res['name_firm']." , ".$res['name_dol']."</option>";
}
?>
</select>  Фирма, вакансия<br><br> 

<select name="kandidat">
<?php
    $selct2 
mysql_query("SELECT id_candidat, rezum_txt FROM kandidat");
                

while(
$res2 mysql_fetch_array($selct2)){

    echo 
"<option value='".$res2['id_candidat']."'>".$res2['rezum_txt']."</option>";
}
?>
</select> Кандидат<br>
<p><input type="submit" name="send" value="Прикрепить кандидата к вакансии "></p>
</form>
davidoff_72 вне форума Ответить с цитированием
Старый 28.08.2015, 17:33   #2
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Обычно проверяют, создана ли такая запись по всем либо по ключевым полям.

И кста, вопрос к бэкендерам: почему вы не юзаете PUT-запрос для этого?
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 28.08.2015, 18:32   #3
davidoff_72
 
Регистрация: 25.08.2014
Сообщений: 8
По умолчанию

не до конца понимаю или не имею знаний , как сделать проверку. есть такая запись или нет. вот таблица
id_vak unsigned 1
id_candidat unsigned 2
данная таблица связана внешними ключами с двумя другими и значения их вносится в данную таблицу.
как исключить чтоб вносились такие же данные (1, 2)
davidoff_72 вне форума Ответить с цитированием
Старый 28.08.2015, 18:53   #4
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

Код:
inser ignore/update
не?
ADSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не срабатывает автообновление 2-го списка, после внесения данных в 1-й sasha_prof Microsoft Office Access 2 23.07.2013 09:35
SQL запрос внесения картинки в базу Darcangel БД в Delphi 5 11.01.2012 09:23
Как сохранить базу данных? Mr_freeman SQL, базы данных 2 24.11.2011 09:08
Access 2003. Как исключить ввод повторных данных в форме ? MAN5ON Помощь студентам 0 19.06.2009 23:23
Как лучше организовать базу данных типо как в ICQ Руслантус БД в Delphi 3 09.08.2008 23:57