2

我不知道如何解决这个问题,我需要一些关于从名称列表中插入数据的建议。这是统计类型的数据。假设我有一个看起来像这样的数组。

$basketball = array (
    'teams' => array (
        'orange' => array (
            'names'  => array(
                'matt' => array('number' => '12', 'position' => 'guard'), 
                'john' => array('number' => '23', 'position' => 'forward'),
            ),
        ),
        'blue' => array (
            'names'  => array(
                'luke' => array('number' => '34', 'position' => 'guard'), 
                'brian' => array('number' => '45', 'position' => 'forward'),
            ),
        ),
    ),
);

然后在我的应用程序中,我对这样的名称运行 foreach。

<?php foreach($basketball as $key => $teams): ?>
    <?php foreach($teams as $team => $names): ?>
    <div class="teams <?php echo $team ?>" data-score="0">
        <?php foreach($names as $key => $players): ?>
            <?php foreach($players as $player => $player_info): ?>
                <div class="home-stats stats <?php echo $team ?>" data-player="<?php echo $player ?>">
                    <ul>
                        <li class="name">
                        <span><?php echo $player ?></span>
                        <input type="hidden" name="home-playername" value="<?php echo $player ?>" />
                        </li>
                        <li class="points">
                        <span>0</span>
                        <input type="hidden" name="home-points" value="0" />
                        </li>
                    </ul>
                </div>
            <?php endforeach; ?>    
        <?php endforeach; ?>
    </div>   
    <?php endforeach; ?>
<?php endforeach; ?>

有了这个,我试图找出添加数据的最佳方法,以便积分与玩家匹配,显然我将拥有更多的统计数据和玩家,但为了举例,这就是我所需要的。

我正在考虑使用jsonjQuery 使用和重写名称属性,然后构建一个数组,并为每个团队名称设置一行,但我再次想不出如何重命名这些输入以构建一个实体数组,看起来像(对不起,如果它有点搞砸了,但这只是一个想法)

  {"players":[{"matt":[{"stats":[{"points":"22"}]}], 
               "john":[{"stats":[{"points":"18"}]}]}]}

我想这可能是一个相当广泛的问题,但如果你是开发人员,总结一下信息,你将如何处理数据的统计风格,玩家的名字是所有信息的父级......或者......可能团队名称是所有信息的父级,无论哪种方式,一旦我确定了最佳方法,我就可以采用任何一种方式..

4

1 回答 1

2

您应该使用像 ember.js、angular.js 或backbone.js 这样的插件。您应该创建一个简单的 RESTful API 来从您的服务器检索数据。要完成此任务,请进行三个步骤:

1-将您的数据放入数据库确保所有关系都经过深思熟虑。不要在您的数据库中随意添加信息。当我查看您的示例时,您似乎已经对组织数据的方式有疑问。名称应该是对象的属性,而不是键的名称。使用 OOP 的力量。

2-将您的数据库映射到对象为自己省去巨大的麻烦并使用学说。它可以帮助您映射实体之间的数据和关系。您可以使用少于 50 行代码来映射整个应用程序。

3-返回数据以您需要的任何格式返回。JSON 非常主流,但您可以决定返回 XML 或 YAML。由你决定。使用任何你觉得舒服的东西。

我个人使用 Ember.js。它为您的模板使用把手。最后,您的代码应该超级简洁:

<div id="comments">
    {{#each player}}
        <h2>#{{id}}">{{name}}</a></h2>
        <div>{{points}}</div>
    {{/each}}
</div>

如果您不知道这些框架是如何工作的,请花时间学习它们。你现在的做法是错误的。尽可能养成最佳习惯,学习如何使用 MVC 架构构建可靠的应用程序。

希望能帮助到你

于 2013-10-31T00:53:11.967 回答