2013-04-23 129 views
0

我有3代表我写了要两表 和while循环的第二个表,这个表一个查询在结果视图请 检查附件unerstand问题 问题这是PHP代码:while循环没有重置结果,并重复结果

 $select_all = mysql_query("SELECT categories.id,cat![enter image description here][1]egories.name,categories.name_en, 
categories.block_type,group_fields.ct_id,group_fields.content,group_fields.content_en 
FROM categories LEFT JOIN group_fields 
ON categories.block_type=group_fields.id 
WHERE categories.home_new='1' ORDER BY sorting ASC ")or die(mysql_error()); 
while($row_all = mysql_fetch_array($select_all)) 
{ 
    $allcc[]  = $row_all; 

    $tblname  =$row_all['id']; 
    $select_grp = $Drweb2->mysql_query("select * from $tblname"); 
    while($rrc = $Drweb2->mysql_fetch_array($select_grp)) 
    { 
    $rgcont[] = $rrc; 
    } 
    $smarty->assign('data',$rgcont); 
} 
$smarty->assign('allcc',$allcc); 

,这是smarty的HTML代码:

{section name=gac loop=$allcc} 
{$allcc[gac].content} 
{/section} 

问题例如:[1]:http://i.stack.imgur.com/mOHIg.png

回答

0

我会假定while语句正在工作,但是您不是遍历数组。

也许尝试:

$tblname  = $row_all['id']; 
$select_grp = $Drweb2->mysql_query("select * from $tblname"); 
$data   = $Drweb2->mysql_fetch_array($select_grp) 
foreach ($data as $row) { 
    $rgcont[] = $row; // or a specific field name using $row['field_name'] 
} 

为Smarty的,你能做到这一点:

{section name=gac loop=$allcc} 
    {$allcc[gac].content} 
    {$allcc[gac].data} 
{/section} 

不知道这会的工作,但它是我最好的猜测。

+0

我试试你的想法,但我不明白的Smarty的代码 – 2013-04-23 02:54:38

+0

ü可以寄给我的HTML代码,我认为你的方式是正确的,请帮我 – 2013-04-23 03:01:29

+0

我不熟悉Smarty的HTML但是从它的外观$ ALLC传递看起来不错,因为它应该包含所有添加的数组数据。为什么将$ rgcont []数组分配给“data”而不是$ allc []数组的一部分?你是否期望数据作为数组的一部分显示或单独显示? – Silvertiger 2013-04-23 03:07:45