dongsheng8158 2019-06-20 12:19
浏览 48

从数据透视表在页面上显示照片的问题

I am working on a cms for properties/ads in oop php for learning purposes. I have a gallery of photos for each property/ad and three tables.

properties (id, location, price, main_photo_id)

property_photo (id, property_id, photo_id)

photos (id, name, extension)

I am trying to display main photo on a page (from main_photo_id) that is same ID as photo_id (from property_photo) and also same ID from photos table. I need to select name and extension from photos table and then to connect to main_photo_id through query but when I write query I get no result on page and when I vardump variable it says bool(false), but in database it changes main_photo_id correctly. Any help is appreciated. Here is my code:

AdModel:

public function showMainPhoto($id)
{
    $this->db->query('SELECT p.id, p.name, p.extension FROM photos AS p
      RIGHT JOIN property_photo AS pp ON pp.photo_id = p.id 
      RIGHT  JOIN properties AS pro ON pro.main_photo_id = pp.photo_id
      WHERE pro.main_photo_id = :main_photo_id');
    $this->db->bind(':main_photo_id', $id);
    $row = $this->db->single();

    return $row;
}

AdsController:

public function viewAction()
 {
    if (!isset($_GET['id'])) {
        $ad_id = $_SESSION['ad_id'];
    } else {
        $ad_id = $_GET['id'];
    }

    $ad_data = $this->AdModel->adData1($ad_id);
    $data = $this->AdModel->getPhotoForPropertyView($ad_id);
    $data1 = $this->AdModel->showMainPhoto($ad_id);
    var_dump($data1);
    $data2 = $this->AdModel->getPhotosForProperty($ad_id);

    $this->view->render('ads/view', $data, $ad_data, $data1, $data2);
 }

view.php:

<picture>
    <h1>Main Photo</h1>
        <img src="<?php echo '/public/photos/'.$data1->name.'.'.$data1->extension ?>" class="img-fluid img-thumbnail" width="350" height="350">
</picture>
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 有没有可以帮我搞一个微信建群链接,包括群名称和群资料群头像那种,不会让你白忙
    • ¥15 stm32开发clion时遇到的编译问题
    • ¥15 lna设计 源简并电感型共源放大器
    • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
    • ¥15 Vue3地图和异步函数使用
    • ¥15 C++ yoloV5改写遇到的问题
    • ¥20 win11修改中文用户名路径
    • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
    • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
    • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题