2014-02-03 3 views
1

Вот общие коды. Пробовали отдельные способы, но не можем сделать это.Ошибка синтаксиса в строке foreach

$sql_select_cats_list = $db->query("SELECT category_id, items_counter, hover_title FROM " . DB_PREFIX . "categories WHERE parent_id=0 AND hidden=0 AND user_id=0 AND enable_auctions=1 ORDER BY order_id ASC, name ASC"); 


$cats = array(); 
while($row=$db->fetch_array($sql_select_cats_list)) { 
    $cats[$row['category_id']] = $row; 
} 
$cat_ids = implode(', ', array_keys($cats)); 


$sql_select_subcats_list = $db->query("SELECT sub.category_id, sub.items_counter, sub.hover_title, parent.order_id FROM " . DB_PREFIX . "categories sub LEFT JOIN " . DB_PREFIX . "categories parent ON (parent.category_id=sub.parent_id) WHERE parent.category_id IN (" . $cat_ids . ") AND sub.hidden=0 AND sub.user_id=0 AND sub.enable_auctions=1 ORDER BY parent.order_id ASC, sub.order_id ASC, sub.name ASC"); 


while($row=$db->fetch_array($sql_select_subcats_list)) { 
    if(!isset($subs[$row['parent_id']])) { 
     $subs[$row['parent_id']] = array(); 
    } 
    $subs[$row['parent_id']][] = $row; 
} 


$template->set('cats_list', $cats); 
$template->set('subs_list', $subs); 


$category_box_content = $template->process('header_categories_box.tpl.php'); 
$template->set('category_box_content', $category_box_content); 

Я пытаюсь список категорий и подкатегорий с этим кодом:

<?php 
    foreach($cats as $parent_id => $cats_header_details) { 
     $category_link = process_link('categories', array('category' => $category_lang[$cats_header_details['category_id']], 'parent_id' => $cats_header_details['category_id'])); 


     // subcategory links: 
     if(isset($subs_list[$parent_id])) { 
     foreach($subs_list[$parent_id]) as $sub) { 
      // do something with your subcategory 


     } 
     } 
    ?> 




<li><a style="font-size: 11px; font-weight: normal;" href="<?=$category_link;?>" 
       <?=((!empty($cats_header_details['hover_title'])) ? 'title="' . $cats_header_details['hover_title'] . '"' : '');?> alt=""> 


<img src="themes/<?=$setts['default_theme'];?>/img/arrow.gif" border="0" hspace="4"><?=$category_lang[$cats_header_details['category_id']];?>   


<?=(($setts['enable_cat_counters']) ? (($cats_header_details['items_counter']) ? '(<strong>' . $cats_header_details['items_counter'] . '</strong>)' : '') : '');?></a> </li> <? 
      } 
      ?> 

Я получаю это предупреждение: Подумайте Еогеасп возвращается пустым! не можете найти способ решения проблемы.

Warning: Invalid argument supplied for foreach() in C:\AppServ\www\site\themes\temamiz\templates\categories_box.tpl.php on line 14 

ответ

1
foreach($subs_list[$parent_id]) as $sub) { 
foreach($subs_list[$parent_id] as $sub) { 

после $subs_list[$parent_id] на удаление ")"

+0

Спасибо, теперь я получаю другую ошибку: 'Warning: Invalid аргумент, поставляемый для Еогеасп() в C: \ AppServ \ WWW \ сайт \ темы \ temamiz \ шаблоны \ categories_box.tpl.php на линии 14' Вот общий код: ' $ cats_header_details) {$ category_link = process_link ('категории ', array (' categ ory '=> $ category_lang [$ cats_header_details [' category_id ']],' parent_id '=> $ cats_header_details [' category_id '])); // подкатегорий ссылки: если (Исеть ($ subs_list [$ parent_id])) { Еогеасп ($ subs_list [$ parent_id] в $ суб) {} } > ' –

+0

это предупреждение не ошибка. проверьте, являются ли $ cats нулевыми – user3036688

+0

, если вы имеете в виду категории? да, это null, я добавлю все код, и вы можете проверить, пожалуйста. –

Смежные вопросы