代码之家  ›  专栏  ›  技术社区  ›  Udders

我需要一些帮助,无论是我的SQL或我的PHP我不知道哪一个

  •  0
  • Udders  · 技术社区  · 16 年前


    图1
    图2

    内容标题2
    图1
    图2
    内容标题3
    图1

    function getAllContentImages() {
        $this->db->select('*');
        $this->db->from('contentImagesTable');
        $this->db->join('contentTable', 'contentTable.contentId = contentImagesTable.contentId');
        $this->db->join('categoryTable', 'categoryTable.categoryId = contentTable.categoryId');
    
        $query = $this->db->get();
        return $query->result_array();
    }
    

    返回的数组是这样的,为了可读性,我已经缩小了大小。

        Array
    (
        [0] => Array
            (
                [contentImageId] => 25
                [contentImageName] => green.png
                [contentImageType] => .png
                [contentImagePath] => /var/www/bangmarketing.bang/media/uploads/contentImages/2/green.png
                [isHeadlineImage] => 1
                [contentImageDateUploaded] => 1265222654
                [contentId] => 2
                [dashboardUserId] => 0
                [contentTitle] => sadsadsadassss
                [contentAbstract] => <p>Pllllleeeeeeeaaaaasssssseeeeee Work</p>
                [contentBody] => <p>Please work :-( please</p>
                [contentOnline] => 0
                [contentAllowComments] => 0
                [contentDateCreated] => 1265124038
                [categoryId] => 1
                [categoryTitle] => blogsss
                [categoryAbstract] => <p>asdsdsadasdsadfdsgdgdsgdsgssssssssssss</p>
                [categorySlug] => blog
                [categoryIsSpecial] => 0
                [categoryOnline] => 1
                [categoryDateCreated] => 1266588327
            )
    
        [1] => Array
            (
                [contentImageId] => 28
                [contentImageName] => yellow.png
                [contentImageType] => .png
                [contentImagePath] => /var/www/bangmarketing.bang/media/uploads/contentImages/7/yellow.png
                [isHeadlineImage] => 1
                [contentImageDateUploaded] => 1265388055
                [contentId] => 7
                [dashboardUserId] => 0
                [contentTitle] => Another Blog
                [contentAbstract] => <p>This is another blog and it is shit becuase this does not work</p>
                [contentBody] => <p>ioasfihfududfhdufhuishdfiudshfiudhsfiuhdsiufhusdhfuids</p>
    
                [contentOnline] => 1
                [contentAllowComments] => 0
                [contentDateCreated] => 1265388034
                [categoryId] => 1
                [categoryTitle] => blogsss
                [categoryAbstract] => <p>asdsdsadasdsadfdsgdgdsgdsgssssssssssss</p>
                [categorySlug] => blog
                [categoryIsSpecial] => 0
                [categoryOnline] => 1
                [categoryDateCreated] => 1266588327
            )
    
        [2] => Array
            (
                [contentImageId] => 33
                [contentImageName] => portaski.jpg
                [contentImageType] => .jpg
                [contentImagePath] => /var/www/bangmarketing.bang/media/uploads/contentImages/11/portaski.jpg
                [isHeadlineImage] => 1
                [contentImageDateUploaded] => 1265714175
                [contentId] => 11
                [dashboardUserId] => 0
                [contentTitle] => Portaski - new product and brand launch by Bang
                [contentAbstract] => <p>Bang's experience in new product development has helped launch PortaSki &ndash; the pocket-sized device which is set to revolutionise skiing.</p>
                [contentBody] => <p>After developing Portaski's brand identity and positioning, Bang re-designed the product and its packaging ahead of launch in late 2008.</p>
    <p>A media and PR strategy was devised and implemented using Bang's close relationship with two of the UK's most influential organisations in the Advertising and Media Buying industries. On-line advertising was supported with editorial reviews in the UK's leading broadsheets and tabloids, which combined with pin-point HTML direct mail to drive consumers to the new e-commerce site.</p>
    
    <p>Impressive month-on-month growth has been achieved since launch, and the direct marketing activity resulted in an unprecedented 2.71% of targets going on-line to purchase a PortaSki.</p>
    <p>For further information visit <a href="http://www.portaski.com" target="_blank">www.portaski.com</a></p>
                [contentOnline] => 1
                [contentAllowComments] => 0
                [contentDateCreated] => 1265718184
                [categoryId] => 1
                [categoryTitle] => blogsss
                [categoryAbstract] => <p>asdsdsadasdsadfdsgdgdsgdsgssssssssssss</p>
                [categorySlug] => blog
                [categoryIsSpecial] => 0
                [categoryOnline] => 1
                [categoryDateCreated] => 1266588327
            )
    
        [3] => Array
            (
                [contentImageId] => 26
                [contentImageName] => housingplus.jpg
                [contentImageType] => .jpg
                [contentImagePath] => /var/www/bangmarketing.bang/media/uploads/contentImages/5/housingplus.jpg
                [isHeadlineImage] => 1
                [contentImageDateUploaded] => 1265284989
                [contentId] => 5
                [dashboardUserId] => 0
                [contentTitle] => Bang launches Housing Plus
                [contentAbstract] => <p>Bang has launched Housing Plus, the new brand for the Central Borders Housing Group, along with new sub-brands Property Care and SSHA.</p>
                [contentBody] => <p>The Midlands based Group, with turnover in excess of &pound;21M, appointed Bang in 2008 following an open pitch of over 40 agencies. Bang's work began with an extensive marketing research strategy that challenged the Group's former positioning and brand structure.</p>
    
    <p>The research unveiled that the housing sector demanded a values-led Group. This led Bang to develop the brave &lsquo;Together for the Right Reasons' positioning for Housing Plus.</p>
    <p>Chris Garratt, Marketing Director at Bang explained "The housing sector has witnessed wholesale change in recent years. Much to tenant's dismay, many associations and Groups appear to be losing touch with their roots, we wanted to develop a Group for associations who place principles at the heart of their corporate strategy".</p>
    <p>The repositioned sub-brands also play an important role in the Group's revised brand by highlighting Housing Plus' willingness to embrace and nurture individual identities. Chris Garratt continued "By adopting a &lsquo;house of brands' hierarchy from the outset, Housing Plus has sent out a strong message to prospective strategic partners".</p>
    <p>Bang handled all aspects of work for the redevelopment of the three brands, including research, brand creation, naming, positioning, internal branding and communications, advertising, the brand launches, building the brands' on-line presence and the creation of a powerful brand film &ndash; which is already attracting significant interest from across the sector.</p>
                [contentOnline] => 1
                [contentAllowComments] => 0
                [contentDateCreated] => 1265285940
                [categoryId] => 8
                [categoryTitle] => News
                [categoryAbstract] => <p>The world at Bang Marketing moves fast, keep up to date w
                [categorySlug] => news
                [categoryIsSpecial] => 0
                [categoryOnline] => 1
                [categoryDateCreated] => 1265283717
            )
    

    有人能帮忙吗?

    2 回复  |  直到 16 年前
        1
  •  0
  •   fire    16 年前

    但是你可以做一些像。。。

    $titles = array();
    foreach ($query->result_array() as $row) {
        $title = $row['categoryTitle'];
        if (!in_array($title, $titles)) {
            $titles[]['title'] = $title;
        }
    }
    
    for ($i = 0; $i < count($titles); $i++) {
        $title = $titles[$i]['title'];
        $this->db->select('*');
        $this->db->from('contentImagesTable');
        $this->db->join('contentTable', 'contentTable.contentId = contentImagesTable.contentId');
        $this->db->join('categoryTable', 'categoryTable.categoryId = contentTable.categoryId');
        $this->db->where('categoryTitle', $title);
        $query = $this->db->get();
        foreach ($query->result_array() as $row) {
            $titles[$i]['images'][] = $row['contentImagePath'];
        }
    }
    
        2
  •  0
  •   Community Mohan Dere    9 年前

    Can I do this with just SQL?

    在我的项目中,我也必须做类似的事情,我的计划是连接表,然后从返回的行手动构建数组。然后我将把数组传递回控制器,然后再传递给视图。

    这是我在研究时遇到的另一个帖子- SQL: Selecting parents and their children