Задать вопрос
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();
	}
}
  • Вопрос задан
  • 195 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
AVXNWNK
@AVXNWNK Автор вопроса
Middle DevOps-engineer
Графически это выглядит так:
d87faae3089b454396587ca15b7fe210.png

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

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽