Ответы пользователя по тегу PHP
  • Реализация связи many-to-many?

    MonsterMan
    @MonsterMan
    Я на всякий случай подробнее напишу, т. к. сразу осознать бывает тяжело. Вот например есть таблицы, что вы описали (я чуть переименовал)
    CREATE TABLE IF NOT EXISTS `authors` (
      `authorid` int(11) NOT NULL AUTO_INCREMENT,
      `phone` varchar(100) NOT NULL,
      PRIMARY KEY (`authorid`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
    
    INSERT INTO `authors` (`authorid`, `phone`) VALUES
    (1, '123456789'),
    (2, '987654321');
    
    CREATE TABLE IF NOT EXISTS `books` (
      `booksid` int(11) NOT NULL AUTO_INCREMENT,
      `title` varchar(100) NOT NULL,
      `price` float NOT NULL,
      PRIMARY KEY (`booksid`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;
    
    INSERT INTO `books` (`booksid`, `title`, `price`) VALUES
    (1, 'Название1', 10),
    (2, 'Название2', 20);
    
    CREATE TABLE IF NOT EXISTS `third` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `authorid` varchar(100) NOT NULL,
      `booksid` varchar(100) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
    
    INSERT INTO `third` (`id`, `authorid`, `booksid`) VALUES
    (1, '1', '2'),
    (2, '2', '1');

    В случае такого запроса, вы получите объединённые таблицы и уже сможете выбирать из них, что угодно.
    SELECT * FROM books
    INNER JOIN third ON books.booksid = third.booksid
    INNER JOIN authors ON third.authorid = authors.authorid

    Наверняка, гуру могут посоветовать что-то изящнее. Мне кажется тут many-to-many не очень оправдано. Поправьте, если что.
    Ответ написан
  • Как сделать кликабельными объекты на сайте (php)?

    MonsterMan
    @MonsterMan
    Не совсем понятна задача.
    У вас есть переход на пост по всплывающей вверху какой-то ссылке? Ну так оберните объекты галереи в те же ссылки? Это ваша ссылка?
    <a href="<?php echo esc_url( get_permalink() ); ?>" rel="bookmark">
    Так, оборачивайте ей.
    Ответ написан
    3 комментария