Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SMARTYPPP多重Foreach_Php_Html_Mysql_Smarty - Fatal编程技术网

Php SMARTYPPP多重Foreach

Php SMARTYPPP多重Foreach,php,html,mysql,smarty,Php,Html,Mysql,Smarty,出于某种原因,它会将数组列表中的每个国家重复4次,而不是从$cntry中选择与$country中的国家匹配的国家 $cntry从数据库中的行中选择了国家,而$country只是所有国家的数组列表。您已经嵌套了循环。它们可能应该连续进行: <select name="country[]" multiple="multiple" id="type" class="medium" style="width:20%;height:300px;"> <option value="

出于某种原因,它会将数组列表中的每个国家重复4次,而不是从$cntry中选择与$country中的国家匹配的国家


$cntry从数据库中的行中选择了国家,而$country只是所有国家的数组列表。

您已经嵌套了循环。它们可能应该连续进行:

<select name="country[]" multiple="multiple" id="type" class="medium" style="width:20%;height:300px;">
    <option value="United States">United States</option>
    <option value="Canada">Canada</option>
        <option value="United Kingdom">United Kingdom</option>
    <option value="Australia">Australia</option>
    <option>---------------------------------</option>

   {foreach from=$country key=id item=n}
     {foreach from=$cntry key=i item=name}

      <option value="{$n}" {if $name == $n}SELECTED{/if}>{$n}</option>
     {/foreach}
   {/foreach}
 </select>    
您可以这样尝试:

{foreach from=$country key=id item=n}
   <option blah blah blah>
{/foreach}
{foreach from=$cntry key=i item=name}
   <option blah blah blah >
{/foreach}

你能像{$name}-{$n}那样打印出来,看看你得到的确切值是多少吗?$name=美国、加拿大、澳大利亚、阿尔巴尼亚。从阵列中爆炸$n=数组中所有国家/地区的列表。能否粘贴$country和$cntry的数组结构?它们需要一起工作,而不是单独工作。例如$cntry=美国、加拿大、澳大利亚、阿尔巴尼亚。我将这些数据分解成一个数组,这样当我将forreach添加到$country中时,它将基于$cntry进行选择。据我所知,您希望所选日期显示在列表的其余部分之上,因此Marc的答案正是您需要的。没有错误,没有选择任何内容,但项目的重复是固定的。
   {foreach from=$country key=id item=n}
     {assign var=sel value=''}
     {foreach from=$cntry key=i item=name}
        {if $name == $n}{assign var=sel value='selected'}{/if}
     {/foreach}
      <option value="{$n}" {$sel}>{$n}</option>
   {/foreach}