Результаты сортировки PHP - PullRequest
0 голосов
/ 22 марта 2012

У меня есть такой код:

<ul>
    <?php foreach($persons as $key) : ?>
    <?php if($this->session->userdata('id_user') == $key['id_person'] ) : ?>
    <li><em><?php echo $key['name'] . " " . $key['surname'] ?></em></li>
    <?php else : ?>
    <li><?php echo $key['name'] . " " . $key['surname'] ?></li>
    <?php endif; ?>
    <?php endforeach; ?>
</ul>

Как я могу поместить результат из условия if на первое место?Могу ли я сделать здесь или мне нужно написать запрос SQL?

РЕДАКТИРОВАТЬ:

Это вывод:

<ul>
<li>Marko Džunić</li>
<li><em>Saša Miljković</em></li>
<li>mirko mirkovic</li>
</ul>

Я хочу получить это:

<ul>
<li><em>Saša Miljković</em></li>
<li>Marko Džunić</li>
<li>mirko mirkovic</li>
</ul>

Ответы [ 3 ]

1 голос
/ 22 марта 2012
<ul>
    <?php
        $first = '';
        $content = '';
        $id_user = $this->session->userdata('id_user');    
    ?>
    <?php foreach($persons as $key) : ?>
    <?php
        $id_person = $key['id_person'];
        $name = $key['name'];
        $surname = $key['surname'];

        if ($id_user == $id_person)    
        {            
            $first = '<li><em>' . $name . ' ' . $surname . '</em></li>';
        }
        else
        {
            $content .= '<li>' . $name . ' ' . $surname . '</li>';
        }
    ?>
    <?php endforeach; ?>
    <?php echo $first, $content; ?>
</ul>
0 голосов
/ 22 марта 2012

Лучший способ - отсортировать результат по самому Mysql. В MySQL вы можете размещать определенные строки вверху.

0 голосов
/ 22 марта 2012

Пройдите через ваш массив два раза.

  1. В первый раз вы получаете эхо только тогда, когда этот человек выбран, а затем удаляете этого человека из массива с помощью unset ().

  2. Просмотрите ваш массив во второй раз, как вы делали раньше.

Выбранный элемент теперь является первым элементом в списке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...