2015-08-24 2 views
0

У меня есть таблица в моей базе данных, содержащая подписки, каждая подписка имеет имя, идентификатор и столбец примечаний.Обновление базы данных на основе определенного ID

Я пытаюсь разрешить пользователю обновлять столбец заметок через текстовую область на веб-странице. Все подписки находятся в списке на странице, который позволяет пользователю нажимать на них, чтобы просмотреть эту конкретную подписку.

Как я могу убедиться, что обновленная нота верна с идентификатором подписки, на которую они нажали?

У меня есть этот код.

<form method="POST" action="noteAction.php"> 
    <textarea id="notes" name="noteValue">$notes</texarea> 
    <input type="submit" name="submit"/> 
</form> 

Это то, что, как мне кажется, имеет значение noteAction.php, но я не могу заставить его работать.

mysql_connect ("host", "user", "password") or die ('Error: ' . mysql_error()); 

    mysql_select_db("database_name") or die ('Data error:' . mysql_error()); 

    $text = mysql_real_escape_string($_POST['noteValue']); 
    $query="UPDATE `subscription` SET `notes`= '$text' WHERE `id` = '$id'"; 

    mysql_query($query) or die ('Error updating database ' . mysql_error()); 

Любая помощь будет большой, спасибо.

+1

Откуда вы получаете '$ id'? – Epodax

+0

Я не так, я просто думаю, что так должен выглядеть запрос? Однако я не уверен, как запросить идентификатор, чтобы он работал. – Andy

+0

Отправьте идентификатор с помощью формы, я предполагаю, что вы откуда-то получаете данные '$ notes', отправляйте туда идентификатор. Я бы рекомендовал вам найти учебник/руководство по формам и mysql/php, это довольно просто. – Epodax

ответ

1

Используйте скрытый элемент для хранения своего идентификатора внутри него.

<form method="POST" action="noteAction.php"> 
    <textarea id="notes" name="noteValue">$notes</texarea> 
    <input type="hidden" name="id" value="id" value="your id goes here" /> 
    <input type="submit" name="submit"/> 
</form> 
+0

Спасибо, я никогда не думал использовать скрытый элемент для передачи идентификатора, сумел исправить проблему! – Andy

1

Когда вы помещаете заметку в форму, у вас должен быть идентификатор для этой ноты, где-то ногами, после того, как вы восстановили ее из базы данных. Если вы выбрали только содержание заметки в этом запросе, выберите ID-абель. Затем передайте идентификатор в скрытом поле, и у вас есть идентификатор, который будет использоваться в запросе MySQL (что верно).

<input type="hidden" name="note-id" value="note_id_here"> 
Смежные вопросы