Задать вопрос
AVXNWNK
@AVXNWNK
Middle DevOps-engineer

Как отправить введенные данные записи по id, если кнопка под условием?

Я на основе скрипта добавления и удаления сделал скрипт редактирования, но он у меня не заработал, потому, что кнопка, находящаяся под условием теряет идентификатор записи в предыдущем условии и данным некуда записываться. Как еще можно организовать редактирование данных с отправкой введенных данных записи с 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();
	}
}
  • Вопрос задан
  • 193 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
AVXNWNK
@AVXNWNK Автор вопроса
Middle DevOps-engineer
Графически это выглядит так:
d87faae3089b454396587ca15b7fe210.png

Суть такова: редактируем уже созданную в базе запись, вносим изменения в поля. Как форма знает, какую запись редактировать? В адресной строке записано - ./index.php?edent=8. Восьмерка - это идентификатор записи, и к ней идет привязка формы с полями. Но проблема в том, что форма - это условие. А чтобы сделать кнопку отправки, нужно еще одно условие, которое не наследует переменной идентификатора - и получается, что при нажатии на кнопку, никакой отправки данных не будет. И я все не могу придумать, как передать идентификатор в условие, либо же использовать какие-нибудь альтернативы, может быть функции? Что можно использовать, как кнопку "Отредактировать"?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы