php - smarty 中的引用数组

标签 php mysql smarty

我正在尝试通过我正在调用的函数来引用一个数组

$bio['results'] = $db->query(sprintf('SELECT * FROM `athlete_bio_results` WHERE `PersonID` = %d ORDER BY `athlete_bio_results`.`Type` DESC, `athlete_bio_results`.`Date` DESC;', $id));

    $smarty->assign(value($params, 'to', 'athlete'), $bio);

在我看来,我正在通过 foreach 循环引用此数组中的一些字段。

我将如何引用此 foreach 循环之外的字段以进行检查...例如,在 foreach 循环中,我可以转到 {$result.Type),这将在该字段下显示数据库中的所有内容。我想在 foreach 循环之前检查某种类型。我的问题是在 foreach 循环之外引用那段数据。我将如何实现这一目标?谢谢!

{if $athlete.results['Type'] == 'National'} <---- This is not working for me.
    {foreach $athlete.results as $result}
        {$result.Date|substr:0:-6} 
        {$result.Event} - 
        {$result.Result}
            {if $result.Junior == 'no' || $result.Junior == ''}
            {else}
                {'(Jr. Div.)'}
            {/if}
        <br />
    {/foreach}
{/if}

编辑

这是有效的代码

{foreach $athlete.results as $result}
    {if $result['Type'] == 'National'}
        {$result.Date|substr:0:-6} 
        {$result.Event} - 
        {$result.Result}
            {if $result.Junior == 'no' || $result.Junior == ''}
            {else}
                {'(Jr. Div.)'}
            {/if}
    <br />
    {/if}
{/foreach}  

感谢您帮助我找到正确的解决方案:)

最佳答案

由于您正在访问数组的第一个元素,因此使用键 [0]:

{if $athlete.results[0]['Type'] == 'National'}

实际上我不确定这是否有效。如果没有,请尝试使用此语法。

{if $athlete.results[0].Type == 'National'}

编辑 您应该在 foreach 中检查 Type 吗?

{foreach $athlete.results as $result}
  {* Check inside the loop... *}
  {if $result['Type'] == 'National'}
    {$result.Date|substr:0:-6} 
    {$result.Event} - 
    {$result.Result}
        {if $result.Junior == 'no' || $result.Junior == ''}
        {else}
            {'(Jr. Div.)'}
        {/if}
    <br />
  {/if}
{/foreach}

关于php - smarty 中的引用数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6472915/

相关文章:

php - MySQL 删除行如果

javascript - php select onchange 似乎不起作用

php - 我的 mysql delete 语句有什么问题?

php - 如何将 "N"天添加到 $smarty.now?

mysql - smarty 中的分页

php - 与 zf2 中列的静态值连接

jquery - 高效的SQL查询以获取不同时间不同条件的行

mysql - SQL-Server-2008 中的正则表达式

php - 如果第一个查询未达到其限制,如何从第二个查询返回结果?

php - 我以前从未遇到过的 PHP 符号