Как будет выглядеть следующий запрос - MySQL

Узнай цену своей работы

Формулировка задачи:

Помогите плз, очень нужна помощь. Таблица 1 НАИМЕНОВАНИЯ: id name 1 знач1 2 знач2 Таблица 2 КАТЕГОРИИ: id cat 1 кат1 2 кат2 Таблица 3 КАТ-НАИМ: id idname idcat 1 idзнач1 idкат2 2 idзнач2 idкат1 Когда я добавляю новую строку (внимание таблицы еще пусты кроме КАТЕГОРИИ) для таблицы НАИМЕНОВАНИЯ и выбираю категорию (заполнены), мне нужен такой запрос который бы добавлял строку в таблицу НАИМЕНОВАНИЯ а таблица КАТ-НАИМ заполнялась соответствующим образом, айди добавленного товара соотвествовал айди категории и все это будет хранится в третьей таблице. Как я читал остальные варианты более геморные, т.к. предполагается, что 1 товар может относится к нескольким категориям

Решение задачи: «Как будет выглядеть следующий запрос»

textual
Листинг программы
$query = "INSERT INTO `НАИМЕНОВАНИЯ ` (`name`) VALUES ('знач1')";
mysqli_query($dbc, $query)
or die('error');
$query = "SELECT LAST_INSERT_ID()";  // последний вставленный ID автоинкрементом, за текущую сессию
$data = mysqli_query($dbc, $query)
or die('error');
$row = mysqli_fetch_array($data);
$id = $row['LAST_INSERT_ID()'];
$query = "INSERT INTO `КАТ-НАИМ` (`idзнач1`,`idкат2`) VALUES ('$id', 'idкат2')";  // id выбранной категории вы по идее знаете у себя в коде, если нет - нужно сделать дополнительно запрос, перед этим
mysqli_query($dbc, $query)
or die('error');

Объяснение кода листинга программы

  1. Создается переменная $query с запросом на вставку данных в таблицу НАИМЕНОВАНИЯ
  2. Запрос на вставку данных в таблицу КАТ-НАИМ с использованием значения $id из предыдущего запроса
  3. Выполнение запроса с помощью функции mysqli_query с подключением $dbc
  4. Проверка успешности выполнения запроса с помощью оператора or die
  5. Выполнение запроса на получение последнего вставленного ID с помощью функции LAST_INSERT_ID
  6. Получение результата запроса в виде массива с помощью функции mysqli_fetch_array
  7. Сохранение значения LAST_INSERT_ID в переменную $id
  8. Выполнение запроса на вставку данных в таблицу КАТ-НАИМ с использованием значений $id и idкат2
  9. Проверка успешности выполнения запроса с помощью оператора or die

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5