не могу понять как сделать такую штуку, уже сижу долго. Есть таблица events в которую нужно занести ид категории и текст этой категории. Я уже и через сессию пробовал, но текст категории не соответствовал ид.
Вот форма
<form action="editprofile.php" method="post" enctype="multipart/form-data">
<label>Название</label><br>
<input type="text" name="name_event" required><br>
<label>Категория</label><br>
<select name="cat_event">
<?php $query = "SELECT `id`,`category` FROM `category_events`";
$categories = mysqli_query($conn,$query);
?>
<option></option>
<?php while($row = mysqli_fetch_array($categories)){ ?>
<option value="<?php echo $row['id'] ?>"><?php echo $row['category'] ?></option>
<?php } ?>
</select></br>
<label>Місто проведения</label><br>
<select name="location_event">
<?php $query = "SELECT `id`,`title` FROM `location`";
$locations = mysqli_query($conn,$query);
?>
<option></option>
<?php while($row = mysqli_fetch_array($locations)){ ?>
<option value="<?php echo $row['id'] ?>"><?php echo $row['title'] ?></option>
<?php } ?>
</select></br>
<label>Изображение</label><br>
<input required type="file" type="file" name="img_event" multiple accept="image/*,image/jpeg"><br>
<label>Начало</label> -
<input required type="date" name="start_event">
<label>Конец</label> -
<input required type="date" name="end_event"><br>
<label>Корот. описание</label><br>
<textarea required name="preview_event" cols="80" rows="5"></textarea><br>
<label>Полное описание</label><br>
<textarea required name="full_event" cols="80" rows="10"></textarea><br>
<input type="submit" name="btn_new_event">
</form>
Вот обработчик
<?php
// add event
if(isset($_POST['btn_new_event'])){
$id_user = $_SESSION['user']['id'];
$title = $_POST['name_event'];
$category = ""; в эту переменную нужно занести название равное $id_cat(ниже)
$id_cat = $_POST['cat_event'];
$location = "";а в эту переменную нужно занести название равное $id_loc(ниже)
$id_loc = $_POST['location_event'];
$post_event = $_SESSION['user']['username'];
// image
$uploaddir= '../img/eventimg/';
$fot = $_FILES['img_event']['name'];
$fot_dir = $uploaddir.$fot;
$start_date_event = $_POST['start_event'];
$end_date_event = $_POST['end_event'];
$add_date_event = date("Y-m-d");
$preview_event = $_POST['preview_event'];
$full_event = $_POST['full_event'];
if (move_uploaded_file($_FILES['img_event']['tmp_name'], $fot_dir)) {
$result_query_ev = "INSERT INTO `events` (`title`, `pre_event`, `image`, `id_cat_event`, `post_event`, `start_event`, `end_event`, `add_event`, `big_event`, `id_loc_event`, `text_category`, `text_location`, `id_user`) VALUES ('$title','$preview_event', '$fot_dir','$id_cat', '$post_event', '$start_date_event', '$end_date_event', '$add_date_event', '$full_event', '$id_loc', '$category', '$location', '$id_user')";
$result_add = mysqli_query($conn,$result_query_ev) or die(mysqli_error($conn));
if($result_add) {
echo "<script>alert('Опубликовано!');location='user?id=".$id_user."'</script>";
} else {
echo "<script>alert('Не опубликовано!');location='user?id=".$id_user."'</script>";
}
}}
?>
Ну можно попробовать так заменить
<?php while($row = mysqli_fetch_array($categories)){ ?>
<option value="<?php echo $row['id'] ?>"><?php echo $row['category'] ?></option>
<?php } ?>
на
<?php while($row = mysqli_fetch_array($categories)){ ?>
<option value="<?= $row['id'] . '_' . $row['category'] ?>"><?= $row['category'] ?></option>
<?php } ?>
и в скрипте
$category_data = explode('_', $_POST['cat_event']);
$id_cat = category_data[0];
$name_cat = category_data[1];
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть NGINX, установлен сертификат от Lets Encrypt через certbotИ стоит сайт на PHP
возникла проблема с выводом товаров из категорий( в выпадающем меню), категории отображаются, но не знаю,как правильно сделать так, чтобы...