ФорумПрограммированиеPHP для идиотов → категории и подкатегории

категории и подкатегории

  • nfernee

    Сообщения: 2 Репутация: N Группа: Кто попало

    Spritz 15 марта 2012 г. 4:01

    здравствуйте!
    я бы хотел доработать один скрипт категории и подкатегории
    дело в том что этот скрипт работает но хочу сделать так
    у тех категориев которых есть подкатегории адресс был # это
    а тех которых нету подкатегориев адрес должет быть обичним

    вот как хочу это сделать http://lagicctv.ge/cat.html

    вот собственно этот скрипт без изменении
    $category0_r = mysql_query("SELECT * FROM category WHERE cat = 0 ORDER BY id"); 
    while($category0 = mysql_fetch_array($category0_r))
    {
    print "<li><a href='index.php?page=238&category=" . $category0["id"] . "'><span>" . $category0["title"] . "</span></a>\n";

    $subcategory_r = mysql_query("SELECT * FROM category WHERE cat = " . (int)$category0["id"]);
    if (mysql_num_rows($subcategory_r) > 0)
    {
    print "\n<ul>\n";
    while ($subcategory = mysql_fetch_row($subcategory_r))
    {
    print "<li><a href='index.php?page=238&category=" . $subcategory[0] . "'>" . $subcategory[2] . "</a></li>\n";
    }
    print "\n</ul>";
    print "\n</li>";
    }
    }

    я немного изменил этот скрипт как и хотел но все равно не работает как надо или же только у одного категория адрес #

    $category1_r = mysql_query("SELECT * FROM category"); 
    $category1 = mysql_fetch_array($category1_r);
    $category0_r = mysql_query("SELECT * FROM category WHERE cat = 0 ORDER BY id");
    while($category0 = mysql_fetch_array($category0_r))
    {
    if($category0["title"] != $category1["title"])
    {
    print "<li><a href='index.php?page=238&category=" . $category0["id"] . "'><span>" . $category0["title"] . "</span></a>\n";
    }
    else
    {
    print "<li><a href='#'><span>" . $category0["title"] . "</span></a>\n";
    }

    $subcategory_r = mysql_query("SELECT * FROM category WHERE cat = " . (int)$category0["id"]);
    if (mysql_num_rows($subcategory_r) > 0)
    {
    print "\n<ul>\n";
    while ($subcategory = mysql_fetch_row($subcategory_r))
    {
    print "<li><a href='index.php?page=238&category=" . $subcategory[0] . "'>" . $subcategory[2] . "</a></li>\n";
    }
    print "\n</ul>";
    print "\n</li>";
    }
    }

    я тут добавил IF цикл но не срабатывает у всех видает одно и тоже
    TABLE IF EXISTS `category`;
    CREATE TABLE `category` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `cat` int(11) NOT NULL,
    `title` varchar(255) NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=latin1;

    INSERT INTO `category` VALUES ('1', '0', 'category1');
    INSERT INTO `category` VALUES ('2', '0', 'category2');
    INSERT INTO `category` VALUES ('3', '2', 'ыгиcategory2-1');

    пожалуйста помогите разобратся
    срочно нужно.
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 15 марта 2012 г. 4:19, спустя 17 минут 24 секунды


    $category1_r = mysql_query("SELECT * FROM category");
    $category1 = mysql_fetch_array($category1_r);
    $category0_r = mysql_query("SELECT * FROM category WHERE cat = 0 ORDER BY id");
    while($category0 = mysql_fetch_array($category0_r))
    {
    $subcategory_r = mysql_query("SELECT * FROM category WHERE cat = " . (int)$category0["id"]);

    if(!mysql_num_rows($subcategory_r))
    {
    print "<li><a href='index.php?page=238&category=" . $category0["id"] . "'><span>" . $category0["title"] . "</span></a>\n";
    }
    else
    {
    print "<li><a href='#'><span>" . $category0["title"] . "</span></a>\n";
    }

    if (mysql_num_rows($subcategory_r) > 0)
    {
    print "\n<ul>\n";
    while ($subcategory = mysql_fetch_row($subcategory_r))
    {
    print "<li><a href='index.php?page=238&category=" . $subcategory[0] . "'>" . $subcategory[2] . "</a></li>\n";
    }
    print "\n</ul>";
    print "\n</li>";
    }
    }
  • technobulka

    Сообщения: 4540 Репутация: N Группа: Джедаи

    Spritz 15 марта 2012 г. 4:49, спустя 29 минут 49 секунд

    почему этот топик в пхп для профи?

    у тех категориев которых есть подкатегории адресс был # это
    а тех которых нету подкатегориев адрес должет быть обичним

    это по-русски? я ниче не понял

    почему Sinkler ответил без матов?))

    срочно нужно.

    хотя бы за это уже можно было поматериться))

    или это действительно интересный топик, на который стоит обратить внимание? просто лень (да и сложно такое) читать…
    Высокоуровневое абстрактное говно
  • nfernee

    Сообщения: 2 Репутация: N Группа: Кто попало

    Spritz 15 марта 2012 г. 5:07, спустя 18 минут 13 секунд

    Sinkler
    большое спасибо
    очень помогло

    почему этот топик в пхп для профи?

    а какой начинающий программист бы смог этого сделать
    это по-русски? я ниче не понял

    я не русский так что не могу писать как ты
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 15 марта 2012 г. 5:42, спустя 35 минут 9 секунд

    почему этот топик в пхп для профи?

    ну хоть кто-то сюда пишет)

    почему Sinkler ответил без матов?))

    он познает дзен

    или это действительно интересный топик, на который стоит обратить внимание?

    нет

    а какой начинающий программист бы смог этого сделать

    Stasovsky

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


    Спустя 47 сек.
    я не русский так что не могу писать как ты

    а кто?
  • mario

    Сообщения: 6067 Репутация: N Группа: Джедаи

    Spritz 15 марта 2012 г. 5:43, спустя 48 секунд

    а какой начинающий программист бы смог этого сделать

    Oo
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 15 марта 2012 г. 5:45, спустя 2 минуты 25 секунд

    топик кал
    Сапожник без сапог
  • technobulka

    Сообщения: 4540 Репутация: N Группа: Джедаи

    Spritz 15 марта 2012 г. 5:57, спустя 11 минут 46 секунд

    а какой начинающий программист бы смог этого сделать

    например, я

    я не русский так что не могу писать как ты

    по этому поводу вопросов больше не имею

    ну хоть кто-то сюда пишет)

    ну да… теперь все со змеей играюццо))

    Высокоуровневое абстрактное говно
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 15 марта 2012 г. 5:57, спустя 27 секунд

    топикал на пiха.ру
  • Tekuto

    Сообщения: 1147 Репутация: N Группа: Адекваты

    Spritz 17 марта 2012 г. 1:28, спустя 1 день 19 часов 30 минут

    ну да… теперь все со змеей играюццо))

    неа)))
    но вчера, когда качал пакеты для денвера, увидел расширение АктивПитон.
    засмущался как школьница :DDD
  • Tekuto

    Сообщения: 1147 Репутация: N Группа: Адекваты

    Spritz 17 марта 2012 г. 2:19, спустя 51 минуту 24 секунды

    Качаю расширение. Ставлю каПитошку. Буду изучать в свободное время! :D
  • komprenda

    Сообщения: 24 Репутация: N Группа: Кто попало

    Spritz 15 мая 2012 г. 1:49, спустя 58 дней 23 часа 29 минут

    Запросы в цикле делать это пиздец… Выбираем все записи одним запросом, рекурсивно строим дерево.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!