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

标签 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');
}

我的 Controller :

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 张图像。

最佳答案

只需替换这个:

   <?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;?>

关于php - 如何从服务器获取多个数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47131098/

相关文章:

html - css 'design patterns' 有什么好的在线资源?

javascript - gridster 和多个 highcharts 的调整大小和定位问题

mysql - 删除父级时 Hibernate/MySQL 级联错误

sql - 在升级之前 MySQL 可以正常工作,但它返回 "column ambiguous"错误

mysql - 如何捕获由于 mysql 数据中无效的连续字节而导致的 UnicodeDecodeError

PHP 如何查找字符串中以 $ 或 £ 符号开头的所有价格并将其替换为 Bootstrap 标签

PHP 访问系统 - OR 函数

php - MediaWiki 页面标题变量

php - PHP 的 SCL 存储库是否保持最新?

jquery - 如何在单击元素时移动垂直滚动条以正确显示内容?