如何从服务器获取多个数据

时间:2017-11-06 06:35:24

标签: php css mysql algorithm codeigniter

我有一个CodeIgniter项目,可从服务器和服务器获取多个数据。显示在网页上。

我想为所有项目构建类似that的内容

我在数据库中存储了100多个项目。 当我进入网站时,我想看第一张和第二张图片,然后当我滚动页面时,我想要看到第三张和第四张图像,等等。

我的模特

public function getContent()
{
    $query=$this->db->get('my_database');
    return $query->result();
}
public function getCount(){
    return $this->db->count_all('my_database');
}

我的控制器

function __construct()
{
    parent::__construct();
    $this->load->helper('url');
    $this->load->database();
    $this->load->library('session'); 
    $this->load->model('My_Model');
}


public function index()
{
    $contents['content']=$this->My_Model->getContent();
    $contents['count']=$this->My_Model->getCount();
    $this->load->view('_header');
    $this->load->view('myview',$contents);
    $this->load->view('_footer');
}

我的观点

       <?php       for ( $i=0 ; $i < $count/2 ; $i++ ){    ?>

        <div class="page-wrap">

    <?php    foreach($content as $cont){
      if ($cont->item_id %2 == 1): ?>

            <div class="item-left">
                <a href="#">
                    <div class="text-part">
                        <h2><?php  echo $cont->item_name ?></h2>
                        <p><?php echo $cont->item_text?></p>
                    </div>
                    <div class="image-part">
                        <img src="<?=base_url() ?><?php
                        echo $cont->item_url?>" width="500" height="275" alt="" />
                    </div>
                </a>
            </div>

       <?php else: ?>


           <div class="item-right">
                <a href="#">
                    <div class="text-part">
                        <h2><?php  echo $cont->item_name ?></h2>
                        <p><?php echo $cont->item_text?></p>
                    </div>
                    <div class="image-part">
                        <img src="<?=base_url() ?><?php
                        echo $cont->item_url?>" width="500" height="275" alt="" />
                    </div>
                </a>
            </div>           
<?php endif;     } ?>   
</div> <?php } ?> 

实际上,当我只有2个项目时,这些代码可以正常工作。 但我有100多个项目,我的观点正在变为like that

我想继续向左,向左,再向右。但我的代码工作就像左,右,右。

我真的需要你的帮助。我试过多次if,for循环,但我无法做到正确。我的浏览php代码中存在一些逻辑错误,但我无法找到它。

我想知道如果我可以从数据库中获取2个项目而不是同时获得1个图像。但我无法同时获得2张图片。

1 个答案:

答案 0 :(得分:1)

只需替换它:

   <?php else: ?>


       <div class="item-left">
            <a href="#">
                <div class="text-part">
                    <h2><?php  echo $cont->item_name ?></h2>
                    <p><?php echo $cont->item_text?></p>
                </div>
                <div class="image-part">
                    <img src="<?=base_url() ?><?php
                    echo $cont->item_url?>" width="500" height="275" alt="" />
                </div>
            </a>
        </div>           
    

用这个:

       <?php else: ?>


       <div class="item-left">
            <a href="#">
               <div class="image-part">
                    <img src="<?=base_url() ?><?php
                    echo $cont->item_url?>" width="500" height="275" alt="" />
                </div>
                 <div class="text-part">
                    <h2><?php  echo $cont->item_name ?></h2>
                    <p><?php echo $cont->item_text?></p>
                </div>

            </a>
        </div>           
   

更新答案: 用以下内容替换已发布的查看代码:

<?php $first = false; ?>
<?php foreach($content as $cont): ?>


    <?php if ($cont->item_id % 2 == 1): ?>
        <div class="page-wrap">
            <div class="item-left">
                <a href="#">
                    <div class="text-part">
                        <h2><?php  echo $cont->item_name; ?></h2>
                        <p><?php echo $cont->item_text; ?></p>
                    </div>
                    <div class="image-part">
                        <img src="<?php echo base_url() . $cont->item_url;?>" width="500" height="275" alt="" />
                    </div>
                </a>
            </div>

        <?php $first = true;?>
   <?php else: ?>

            <div class="item-right">
                <a href="#">
                    <div class="image-part">
                        <img src="<?php echo base_url() . $cont->item_url;?>" width="500" height="275" alt="" />
                    </div>
                    <div class="text-part">
                        <h2><?php  echo $cont->item_name;  ?></h2>
                        <p><?php echo $cont->item_text; ?></p>
                    </div>
                </a>
            </div>           

        </div>

        <?php $first = false;?>
    <?php endif; ?>   

<?php endforeach; ?>

<?php if($first): ?>
</div>
<?php endif;?>