Answer the question
In order to leave comments, you need to log in
How to send the entered post data by id if the button is under a condition?
I made an editing script based on the add and delete script, but it didn’t work for me, because the button under the condition loses the record identifier in the previous condition and the data has nowhere to be written. How else can you organize data editing with sending the entered data of the record with the id?
// Страница редактирования выбранной записи (edit).
if ($entElement['ent_id'] = @$_REQUEST['edent']) {
// Запрос в MySQL-базу данных и удаление выбранной пользователем записи.
sql_sec('SELECT * FROM '.TBLENT.' WHERE ent_id=?', $entElement['ent_id'])
or die(mysql_error());
// Отображение index-составляющей.
echo $index;
// Удаление index-составляющей.
$index = NULL;
// Переприсваивание переменной entElement.
$entElement['ent_id'] = @$_REQUEST['edent'];
// Переприсваивание переменной entResult.
$entResult = sql_sec('
SELECT *
FROM '.TBLENT.'
WHERE ent_id="'.mysql_real_escape_string($entElement['ent_id']).'"
') or die(mysql_error());
// Для переменной entBase присваивается массив, переменной entRow возвращается массив с базы данных, переменная-массив entBase получает результат с БД.
for ($entBase = array(); $entRow = mysql_fetch_array($entResult); $entBase[] = $entRow);
// Перечисление массива записей в переменной элемента (нескольких элементов).
foreach ($entBase as $entElement) {
// Отображение уникального текста.
echo '<center><span class="description1">Редактирование записи "'.$entElement['ent_name'].'"</span></center>';
// Подключение внешнего шаблон-файла основной части таблицы (записей), (form.tpl).
require_once "templates/default/form_edit.tpl";
}
// Условие на редактирование записи.
if (@$_REQUEST['entEdit']) {
// Запрос в MySQL-базу данных и обновление записи в таблицы базы данных определенных значений.
sql_sec(
'UPDATE '.TBLENT.' SET ent_name=?, ent_desc=?, ent_owner=?, ent_cat=?, ent_creator=?, ent_price=?, ent_weight=?, ent_year=?, ent_material=?, ent_made=?, ent_size=?, ent_condition=? WHERE ent_id="'.mysql_real_escape_string($entElement['ent_id']).'"',
$entElement['ent_name'], $entElement['ent_desc'], $entElement['ent_owner'], $entElement['ent_cat'], $entElement['ent_creator'] = $userdata['user_login'], $entElement['ent_price'], $entElement['ent_weight'], $entElement['ent_year'], $entElement['ent_material'], $entElement['ent_made'], $entElement['ent_size'], $entElement['ent_condition']
) or die(mysql_error());
// Переадресация на страницу каталога, с отображением всех записей.
header("Location: {$_SERVER['SCRIPT_NAME']}?show=all"); exit();
}
}
Answer the question
In order to leave comments, you need to log in
Graphically, it looks like this:
The essence is this: we edit the record already created in the database, we make changes to the fields. How does the form know which record to edit? The address bar says - ./index.php?edent=8. The eight is the record identifier, and the form with fields is bound to it. But the problem is that form is a condition. And to make a submit button, you need one more condition that does not inherit the identifier variable - and it turns out that when you click on the button, no data will be sent. And I still can't figure out how to pass the identifier to the condition, or use some alternatives, maybe functions? What can be used as the "Edit" button?
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question