0

我想制作一个包含用户所有项目的列表,按用户划分..

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

显然这段代码是错误的,因为我不能重复用户的名字..

4

2 回答 2

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

现在测试,它可以工作

于 2013-02-13T18:24:11.560 回答
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>';
    }
?>
于 2013-02-13T18:39:59.050 回答