Занесение ид и текста в бд

216
12 июля 2018, 12:30

не могу понять как сделать такую штуку, уже сижу долго. Есть таблица 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>";
    }
}}  
?>
Answer 1

Ну можно попробовать так заменить

<?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];
READ ALSO
Nginx + Letsencrypt + Node Js (Socket IO) + PHP

Nginx + Letsencrypt + Node Js (Socket IO) + PHP

Есть NGINX, установлен сертификат от Lets Encrypt через certbotИ стоит сайт на PHP

138
как размножить?

как размножить?

Есть строка Один Два Три

191
Как вывести все товары из выбранной категории на странице?

Как вывести все товары из выбранной категории на странице?

возникла проблема с выводом товаров из категорий( в выпадающем меню), категории отображаются, но не знаю,как правильно сделать так, чтобы...

189