Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Подскажите как сделать вывод подкатегорий выбранной категории

Сообщения:  [1-10]   [11-14] 

 
 автор: dirol   (27.03.2011 в 00:19)   письмо автору
 
   для: cheops   (26.03.2011 в 23:45)
 

спасибо еще раз за помощь. не раз уже помогал. большое тебе спасибо

  Ответить  
 
 автор: cheops   (26.03.2011 в 23:45)   письмо автору
 
   для: dirol   (26.03.2011 в 23:14)
 

Если все работает как надо, то конечно стоит :)

  Ответить  
 
 автор: dirol   (26.03.2011 в 23:14)   письмо автору
 
   для: cheops   (26.03.2011 в 20:44)
 

цепанул одну функцию


function categories_list($level, $path, $sel){
    global $prefix, $db, $conf;
    $out = array();
    $cnt = 0;
    $q = $db->sql_query("SELECT id, title from ".$prefix."_categories WHERE parentid='$path' ORDER BY title");
    while ($row = $db->sql_fetchrow($q)){
        $out[$cnt][0] = $row[0];
        $out[$cnt][1] = $row[1];
        $out[$cnt][2] = $level;
        $cnt++;



    }

    return $out;

}




  $categoryID=78; // по умолчанию для проверки
     $out = categories_list(0, 0, $categoryID);

  for ($i = 0; $i <=count($out); $i++) {


  if ($categoryID == $out[$i][0]){

    echo"<b><font color=brown>".$out[$i][1]."-".$out[$i][0]."</font></b><br>";
    $result = $db->sql_query("SELECT id, title FROM ".$prefix."_categories WHERE parentid <>0 AND parentid='".$out[$i][0]."' ORDER BY title");
     if ($db->sql_numrows($result) > 0) {
      while (list($id, $title) = $db->sql_fetchrow($result)) {
          echo"---<a href=\"index.php?categoryID=".$id."\">".$title."</a><br>";
      }
     }

   }else{

    echo"<a href=\"index.php?categoryID=".$out[$i][0]."\">".$out[$i][1]."</a><br>";


  }
 }



все работает как надо. хотел бы мнение услышать, стоит так использовать код?

  Ответить  
 
 автор: cheops   (26.03.2011 в 20:44)   письмо автору
 
   для: dirol   (26.03.2011 в 20:41)
 

Это уже нужно HTML-код обустраивать, чтобы позиции выведенные посреди списка не выносило за пределы этого списка.

  Ответить  
 
 автор: dirol   (26.03.2011 в 20:41)   письмо автору
 
   для: cheops   (26.03.2011 в 20:32)
 

не сработало под категории выводятся под всем списком

  Ответить  
 
 автор: cheops   (26.03.2011 в 20:32)   письмо автору
 
   для: dirol   (26.03.2011 в 20:25)
 

Примерно так
<?php
    
... 
   
$cat=$_GET['cat'];  
   
$query "SELECT id, modul, title, description, img, language, parentid 
             FROM "
.$prefix."_categories ORDER BY modul ASC";
     
$result $db->sql_query($query);  
    while (list(
$sid$modul$title$description$img$language$parentid) = $db->sql_fetchrow($result)) {  
     if(
$parentid==0$content .= "<li class=\"category-top\"><span class=\"top-span\"><a class=\"category-top\" href=\"?cat=$sid\">$title</a></span></li>\n";  
        if(
$cat == $sid
        { 
          
$query "SELECT id, modul, title, description, img, language, parentid
                    FROM "
.$prefix."_categories WHERE parentid='$cat' ORDER BY modul ASC";
          
$result $db->sql_query($query);  
          
$content .=  "<li><ul>";  
          while (list(
$sid$modul$title$description$img$language$parentid) = $db->sql_fetchrow($result)) {  
             
$title =($title);  
             
$content .=  "<li><a class=\"menu_right_sub\" href=\"#\">".($title)."</a></li>";  
           }  
         
$content .=  "</ul></li>";  
       } 
    } 
  ... 
?>

  Ответить  
 
 автор: dirol   (26.03.2011 в 20:25)   письмо автору
 
   для: cheops   (26.03.2011 в 20:24)
 

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

  Ответить  
 
 автор: cheops   (26.03.2011 в 20:24)   письмо автору
 
   для: dirol   (26.03.2011 в 20:20)
 

Оформите их в виде вложенного списка, а не в виде <div>-блока.

  Ответить  
 
 автор: dirol   (26.03.2011 в 20:20)   письмо автору
 
   для: cheops   (26.03.2011 в 19:56)
 

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

  Ответить  
 
 автор: cheops   (26.03.2011 в 19:56)   письмо автору
 
   для: dirol   (25.03.2011 в 21:57)
 

Если я правильно все понял, блок вывода подкатегорий следует поместить в условие $cat == $sid
<?php
  
...
     
$cat=$_GET['cat']; 
     
$result $db->sql_query("SELECT id, modul, title, description, img, language, parentid FROM ".$prefix."_categories ORDER BY modul ASC"); 
    while (list(
$sid$modul$title$description$img$language$parentid) = $db->sql_fetchrow($result)) { 
     if(
$parentid==0)$content .= "<li class=\"category-top\"><span class=\"top-span\"><a class=\"category-top\" href=\"?cat=$sid\">$title</a></span></li>\n"
        if(
$cat == $sid)
        {
          
$result $db->sql_query("SELECT id, modul, title, description, img, language, parentid FROM ".$prefix."_categories WHERE parentid='$cat' ORDER BY modul ASC"); 
          
$content .=  "<div>"
          while (list(
$sid$modul$title$description$img$language$parentid) = $db->sql_fetchrow($result)) { 
             
$title =($title); 
             
$content .=  "<a class=\"menu_right_sub\" href=\"#\">".($title)."</a>"
           } 
       }

     
$content .=  "</div>"

    }
  ...
?>

  Ответить  

Сообщения:  [1-10]   [11-14] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования