Перейти к содержимому

Сервис обмена электронных валют

Выбрать шаблон и создать сайт

Запрос на вывод категорий из базы данных

#1 Topor

Topor
  • Пользователь
  • 4 сообщений
  • Репутация: 0
0

Отправлено 02 Декабрь 2013 - 19:40

Здравствуйте, в общем суть в том, что я создал структуру запроса к базе данных которая вывод категории и под категории, но на что у меня хватило знаний, мне не нравится, неудобно, очень не удобно и работает через Яву
Выглядет это так : категория например :

категория - "Автомобили" при нажатии открываются подкатегории
подкатегории - "нисан"
"Ваз"
и так далее


а хочется сделать вывод категорий и отдельно под категорий через rezult

сам код

<?=$lang[598]?>
    </div>
	  <div class="new_block_bg2">
	    <div class="blok_">
		  <div style="padding-left:15px;">
		    <script language="JavaScript" type="text/javascript">
function showHide(shID) {
   if (document.getElementById(shID)) {
	  if (document.getElementById(shID+'-show').style.display != 'none') {
		 document.getElementById(shID+'-show').style.display = '-show';
		 document.getElementById(shID).style.display = 'block';
	  }
	  else {
		 document.getElementById(shID+'-show').style.display = 'inline';
		 document.getElementById(shID).style.display = 'none';
	  }
   }
}
	  </script>
		    <?
$GLOBALS['cccount'] = 0;
if (defined('JBCITY')) $GLOBALS['subQuery'] = ' AND city_id = '.JBCITY; else $GLOBALS['subQuery'] = '';
function listcat3($id,$sub){
	    $categories = mysql_query("SELECT id, child_category, name_cat, en_name_cat FROM jb_board_cat WHERE root_category = $id ORDER by sort_index"); cq();
	    while($category = mysql_fetch_assoc($categories)){	 
			    $name_cat = (defined('JBLANG') && constant('JBLANG')=='en') ? $category['en_name_cat'] : $category['name_cat'];
			    $count_ads = mysql_result(mysql_query("SELECT COUNT(id) from jb_board WHERE id_category='".$category['id']."' AND old_mess='old'".$GLOBALS['subQuery']), 0);cq();
			    if($sub=="2") $subclass="class=\"subclass\"";else $subclass="";
			    echo "<li><span class=\"file\">&nbsp;<a href=\"c".$category['id'].".html\">".$name_cat."</a><font style=\"font-size:11px;color:#595959\">(".@$count_ads.")</font></span> </li>";
			    $GLOBALS['cccount'] = $GLOBALS['cccount'] + $count_ads;
			    if($category['child_category']==1){listcat3($category['id'],$sub+1);}
	    }
}
$categories = mysql_query("SELECT id, child_category, name_cat,en_name_cat,img FROM jb_board_cat WHERE root_category=0 ORDER by sort_index");  cq();
$num_rows = @mysql_num_rows($categories);
$count_field=round($num_rows/1);$td=0;

while($category = @mysql_fetch_assoc($categories)){
	    $name_cat = (defined('JBLANG') && constant('JBLANG')=='en') ? $category['en_name_cat'] : $category['name_cat'];
	   
	    if($category['child_category']==1){
			    echo "<ul><li style=\"list-style:none;padding:5px 0;font:bold 13px Arial;\"><span class=\"folder\"><a href=\"#\" id=\"divarea".$category['id']."-show\" onclick=\"showHide('divarea".$category['id']."');return false;\" style=\"cursor:pointer;color: #595959;text-decoration:none\">".$name_cat."</a></span></li></ul>
    <ul id=\"divarea".$category['id']."\" style=\"display:none;padding:3px 3px 3px 0;\">";
			    listcat3($category['id'],1);
			    echo "</ul>";
	    }
	    else echo "<a href=\"c".$category['id'].".html\">".$name_cat."</a>";
	    $td++;if($td>=$count_field){echo "";$td=0;}
}
?>
		    <?php ?>
		 

в общем получается вывод подкатегорий как у всех сайтов ( авито например ) только в моем случае у каждой категории только одна подкатегория..

вот не пойму как его переделать.......... подскажите пожалуйста

 

 

  • 0

#2 Ixman

Ixman
  • Пользователь PRO
  • 2 159 сообщений
  • Репутация: 432

Отправлено 03 Декабрь 2013 - 10:44

Самый простой выход это цикл в цикле, но это однозначно плохо. Тут надо копать в сторону сложных sql запросов, надо в один два уместить, если не ошибаюсь
  • 0

#3 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 03 Декабрь 2013 - 13:34

Здравствуйте.
Возможно, будет полезен первый урок цикла Каталог товаров - Каталог товаров. Вывод категорий
  • 0



Оформление форума – IPBSkins.ru