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 に答える