2017-01-10 3 views
0

У меня возникла проблема с дублированием данных при обновлении в строке mysql. Я меняю кровать пользователя, где я могу получить в таблице 1 поле fname, которое является именем пользователя. Затем отправьте в таблицу2, затем уже получите fname, используя rfname='$fname'. Это мой html, который появляется всплывающим, который получает список комнат на $ roommedical. Iwant Не дублировать запись. или как я могу удалить сначала значение предыдущей строки, прежде чем обновлять его до другой строки. Значение по умолчанию для roommedical - это единственное, что я хочу изменить, это rfname.Ввод дублируется

<label class="selectDrop" >Check This For Room:</label> 
<input class="selectDrop" type="checkbox" name="statmed" value="active" id="statmed" /> 
<label class="selectDrop11" >Medical Ward:</label> 
<input class="selectDrop11" type=text id=medbed name=roommedical value="<?php echo $roommedical?>" placeholder="Select Medical Bed"> 
<!--BUTTON--><input class="selectDrop11" type="button" name="choice" onClick="selectValue('medbed')" value="Check"> 

И Это мой отправить форму PHP

$roommedical = clean($_POST['roommedical']); 
$statmed = clean($_POST['statmed']); 
mysql_query("UPDATE room SET rfname='$fname',statmed='$statmed' Where roommedical='$roommedical'"); 

При обновлении имени пациента дублирует линию красного ящика является примером тиражирования моей записи Это снимок

enter image description here

спасибо. Я плохо знаю об этом, я знаю. Пожалуйста, поймите меня.

+0

измените свою колонку так, чтобы она была уникальной. –

+0

Если вам не нужны записи с повторяющимися значениями, вам нужно настроить уникальный индекс для этого столбца. Кроме того, вы должны сделать валидацию * до *, вы пытаетесь вставить эту запись. –

+0

или выберите вариант, если он существует первым; много способов сделать это –

ответ

0

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

mysql_query("UPDATE room SET rfname='',statmed='None' Where rfname='$fname'"); 
mysql_query("UPDATE room SET rfname='$fname',statmed='$statmed' Where roommedical='$roommedical'"); 

BTW, в общем-то предпочтительнее использовать id из первой таблицы в качестве внешнего ключа во второй таблице, а не имя.

+0

OMG, это только код HAHAHA, спасибо вам столько. – Charles

+0

@Charles Если это ответит на вопрос, вы должны принять ответ. http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work Кроме того, в зависимости от того, что 'clean', вы можете быть открыты для SQL-инъекций. Я бы рекомендовал обновить до параметризованных запросов. – chris85

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