2013-02-13 3 views
0

Я хочу сделать это, список со всеми элементами пользователя, разделяй пользователями ..Составьте список с тем PHP пользователем и датой

<div id="news-block"> 
    <h3 id="news-title">USER NAME</h3> 
    <ul id="news-content"> 
     <li>ITEM 1</li> 
     <li>ITEM 2</li> 
     <li>ITEM 3</li> 

    </ul> 

У меня есть эта PHP, моя проблема с название:

<div id="news-block"> 
    <?php 
    echo "<ul id='news-content'>"; 
    $username=null; 
    foreach ($programas as $programa) { 

     if ($programa->username!= $username) { 
      $nombre = $programa->username; 
      echo "<h3 id='news-title'>".$programa->username."</h3>"; 
     } 
     echo "<li>".$programa->titulo."</li>"; 
    } 
    echo "</ul>"; 
    ?> 

Очевидно, что этот код является неправильным, потому что я не могу повторить имя пользователя ..

ответ

2

Попробуйте этот код:

<?php 

    $list = "<ul id=\"news-content\">"; 
    $h3 = "<h3 id=\"news-title\">"; 
    $username=null; 


    foreach ($programas as $programa) { 

     if ($username == null) { 
     $username = $programa->username; 
     $h3 .= $username . "</h3>"; 
     } 
     $list .= "<li>" . $programa->titulo . "</li>"; 


    } 

    $list .= "</ul"; 

    echo $h3 . $list; 


?> 

Или вы хотите список, как:

- Name 
-- 1 
-- 2 
-- 4 

- Name 
-- 1 
-- 2 
-- 3 

этого? Если это так, нам нужна структура вашего массива $programas.

Я думаю, что $ programas что-то вроде:

$programas = array(
     "UserOne" => array("prog1", "prog2", "prog3"), 
     "UserTwo" => array("prog1", "prog2", "prog3") 
     ); 

Поэтому код должен быть:

$users = array_keys($programas); 
$i = 0; 

foreach($programas as &$user) { 


    $h3 = "<h3 id=\"news-title\">" . $users[$i] . "</h3>";  
    $list = "<ul id=\"news-content\">"; 

    foreach($user as &$programa) { 
    $list .= "<li>$programa</li>"; 
    } 

    echo $h3 . $list . "</ul>"; 

    $i = $i + 1; 
} 

Теперь испытано, это работает

+0

Да как второй код, $ programas представляет собой массив объектов, которые я привести его в БД, i'm с использованием CodeIgniter .. –

+0

мы должны знать, как устроена массив, я постараюсь рассказать вам как strcture это, если вы предпочитаете. –

+0

$ programas -> И я присоединяюсь ко всем табличным элементам программ, которые находятся в db .. –

0

Попробуйте это, я не проверял это кода, но он должен работать!

<?php 
    $users = array(
    'user1' => array(
     'name' => 'Tom', 
     'items' => array('item1', 'item2', 'item3') 
     ), 
    'user2' => array(
     'name' => 'John', 
     'items' => array('item1', 'item2', 'item3') 
     ) 
    ); 

    foreach($users as $user) 
    { 
     echo '<h3 id="news-title">'.$user['name'].'</h3>'; 
     echo '<ul>'; 
     foreach($user['items'] as $item) 
     { 
      echo '<li>'.$item.'</li>'; 
     } 
     echo '</ul>'; 
    } 
?> 
Смежные вопросы