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



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

#1 Topor
Topor
  • Неактивные
  • 4 сообщений
  • Репутация: 0
0

Обновлено 03 декабря 2013 - 13:34  Отправлено 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\">("[email protected]$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
  • 3 179 сообщений
  • Репутация: 850

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

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


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

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

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




Похожие темы
  Название темы Автор Статистика Последнее сообщение

Пользователь месяца
Megoydagi Megoydagi 1-й за Август
Очков активности: 30 4 темы, 8 сообщений, 1 балл репутации
Сайт: bank.net.ru
ТОП самых активных за этот месяц
  • Фотография Vmir
    #1

    Vmir
    Очков активности: 60 4 темы, 8 сообщений, 2 балла репутации

  • Фотография BLIK
    #2

    BLIK
    Очков активности: 40.5 Вне конкурса за определение пользователя месяца

  • Фотография Zevss
    #3

    Zevss (domles43.ru)
    Очков активности: 15 3 темы, 1 сообщение, 1 балл репутации

  • Фотография WGN
    #4

    WGN (worldgamenews.com)
    Очков активности: 12 1 тема, 5 сообщений, 1 балл репутации

  • Фотография Totti
    #5

    Totti
    Очков активности: 12 0 тем, 8 сообщений, 1 балл репутации

  • Фотография SergiuS85
    #6

    SergiuS85
    Очков активности: 12 2 темы, 2 сообщения, 1 балл репутации

  • Фотография Sale_account
    #7

    Sale_account
    Очков активности: 10.5 2 темы, 1 сообщение, 1 балл репутации

  • Фотография kuztoday
    #8

    kuztoday
    Очков активности: 10.5 1 тема, 4 сообщения, 1 балл репутации

  • Фотография kolver
    #9

    kolver
    Очков активности: 9 1 тема, 3 сообщения, 1 балл репутации

  • Фотография Megoydagi
    #10

    Megoydagi (bank.net.ru)
    Очков активности: 9 Вне конкурса за определение пользователя месяца

  • Показать весь ТОП 10

Поддержите форум! =)
Топ 5 участников по репутации

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