1

他の例を見て、これを機能させようとしましたが、コードを変更するとエラーのみが返されます。基本的に、データベースから取得され、2 つの列に表示されるカテゴリのリストがあります。リストの前半を列1、後半を列2にして、カテゴリをアルファベット順にリストしたいと思います。アルファベット順にリストするだけで、必要に応じてカテゴリに自動的に表示されると思います。助けてくれてありがとう。私が持っているコードは次のとおりです。

<ul class="links">
            <?php if($this->is_loged) { ?>
            <li><a href="./"><strong><?php echo $this->translate('Pinners you follow');?></strong></a></li>
            <?php } ?>
            <?php if($this->categories) { ?>
            <li>
                <a class="arrow" href="<?php echo $this->all_url;?>"><?php echo $this->translate('Everything');?><?php if($this->category_active) { ?>: <?php echo $this->category_active;?><?php } ?></a>
                <div class="dropdown columns-2">
                    <?php $total = count($this->categories); ?>
                    <?php for($r=$i=0; $i<2; $i++) { ?>
                    <ul>
                        <?php for($j=0; $j<ceil( $total/2 ); $j++, $r++) { ?>
                        <?php if(isset($this->categories[$r])) { ?>
                        <?php 
                            $class = $this->categories[$r]['active'] ? 'active' : '';
                            if($r==0 || ceil( $total/2 ) == $r) { $class .= ' first'; }
                            if($r==($total-1) || (ceil( $total/2 )-1) == $r) { $class .= ' last'; }
                            $class = trim($class);
                        ?>
                        <li<?php if($class) {?> class="<?php echo $class;?>"<?php } ?>><a href="<?php echo $this->categories[$r]['href'];?>"><?php echo $this->categories[$r]['title'];?></a></li>
                        <?php } ?>
                        <?php } ?>
                    </ul>
                    <?php } ?>
                    <div class="clear"></div>
                </div>
            </li>
            <?php } ?></ul>
4

1 に答える 1

1

これはMySQLsort_by name ASCで実行できますが、PHPでは次の方法で実行できます。

  1. sort($this->categories, SORT_STRING)またはs ort($this->categories);
  2. ksort($this->categories)キーで並べ替えます。
于 2012-11-03T12:46:35.870 に答える