twofolls95
@twofolls95

Как изменить ID у записи?

Имеются две таблицы:
category (id, title);
posts (id, title, text, datetime, image, category_id);
Есть HTML-код, который выводит в форме редактирования записи виды категорий:
<?php foreach($categories as $category) { ?>
<option><?=$category["title"]?></option>
<?php } ?>

А также, код редактирования записи:
function edit_post($connect, $post_id){
	$post_id = (int)$_GET['post_id'];
	$types = array('image/gif', 'image/png', 'image/jpeg');
	if(isset($_POST['submit'])){
		$title = mysqli_real_escape_string($connect, $_POST['title']);
		$text = mysqli_real_escape_string($connect, $_POST['text']);
		$category = mysqli_real_escape_string($connect, $_POST['category']);
		//Путь, куда должно сохраняться загруженное изображение
		$path = '../../images/post/';
		 //Если изображение загружено
		if(is_uploaded_file($_FILES["image"]["tmp_name"])){
			//Проверка изображения на его тип
			if(!in_array($_FILES['image']['type'], $types)){
				die('Ошибка загрузки файла. Пожалуйста, загружайте изображения только в форматах JPG, PNG, GIF.');
			}
			//Перемещение изображения в специальную директорию на сервере
			//Запись названия и формата изображения в БД
			move_uploaded_file($_FILES["image"]["tmp_name"], $path . $_FILES["image"]["name"]);		
			$image = $_FILES['image']['name'];
			$update = "UPDATE posts SET `title` = '$title', `text` = '$text', `image` = 'images/post/$image', `category_id` = '$category' WHERE id = ".$post_id;
			$result = mysqli_query($connect, $update);
			header("Location: ". $_SERVER["REQUEST_URI"]);
		} else {
			$update = "UPDATE posts SET `title` = '$title', `text` = '$text', `category_id` = '$category' WHERE id = ".$post_id;
			$result = mysqli_query($connect, $update);
			header("Location: ". $_SERVER["REQUEST_URI"]);
		}
	}
}

Если в селекте выводить по ID, то всё работает нормально, ID категории у записи меняется в таблице posts в поле category_id. Мне нужно чтобы в селекте небыло ID, а был только title, и чтобы при редактировании записи менялся ID в таблице category_id. Иными словами, чтобы titile прилетал вместе с ID, а обработчик принимал только ID. Что-то пока немогу понять как это реализовать.
  • Вопрос задан
  • 136 просмотров
Пригласить эксперта
Ответы на вопрос 1
@TeslaFeo
<?php foreach($categories as $category) { ?>
<?=$category["title"]?>
<?php } ?>
пропущен endforeach
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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