我不确定如何处理这个问题,我需要一些关于从名称列表中插入数据的建议。这是统计类型的数据。假设我有一个看起来像这样的数组。
$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; ?>
有了这个,我试图找出添加数据的最佳方法,以便积分与玩家相匹配,显然我会有更多的统计数据和球员,但为了示例,这就是我所需要的。
我正在考虑使用 json
并使用 jQuery 重写名称属性,然后构建一个数组,并为每个团队名称设置一行,但同样我想不出如何重命名这些输入以构建一个实体数组,看起来像(对不起,如果它有点混乱,但这只是一个想法)
{"players":[{"matt":[{"stats":[{"points":"22"}]}],
"john":[{"stats":[{"points":"18"}]}]}]}
我想这可能是一个相当广泛的问题,但总结一下,如果你是开发人员,你会如何处理数据的统计风格,玩家的名字是所有信息的父级......或。。。可能是团队名称是所有信息的父级,无论哪种方式,一旦我想出最好的方法,我就可以采取任何一种方式。
使用像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 架构构建可靠的应用程序。
希望对你有帮助