ФорумРазработкаБазы данных → Каталог и под каталоги

Каталог и под каталоги

  • JESS2

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

    Spritz 6 августа 2008 г. 12:13

    Добрый вечер!
    У меня возникла проблема к каталогами меню, надо что бы было так:
    ———————–
    +cat1
    +cat2
    -under cat1
    -under cat2
    +cat3
    ———————-

    а получаеться
    ———————–
    +cat1
    +cat2
    +cat3
    -under cat1
    -under cat2
    ———————-
    И нажатием на -under cat x можно было увидить информацию…
    Пожалуйста помогите!

    <?php
    $tablename = "vA_categories";

    $refresh = $_SERVER['PHP_SELF'];


    $result = mysql_query("SELECT * FROM $tablename WHERE `show` = '1' AND `parent` = '0'");
    while($data = mysql_fetch_row($result))


    {

    echo "<a href='?catID=".$data[0]."'>".$data[1]."</a><br>";

     }

     print "<ul>";

     if(isset($_GET['catID'])) {
     $result2 = mysql_query("SELECT * FROM $tablename WHERE `parent` = '{$_GET['catID']}' AND `parent` != '0'");
    while($data2 = mysql_fetch_row($result2))
    {
    echo "<a href='?info=".$data2[0]."'>".$data2[1]."</a><br>";

    print $data2[0]."/productID<br>";
    print $data2[1]."/name<br>";
    print $data2[2]."/parent<br>";
    print $data2[3]."/product_count<br>";
    print $data2[4]."/description<br>";
    print $data2[5]."/picture<br>";
    print $data2[6]."/show<br>";
    print $data2[7]."/show<br>";

    print "<a href=#><img src=images/buy_it2.png width=91 height=20 border=0></a><br>";
    } }

    print "</ul>";
     print "<hr>";
    mysql_close();
    ?>
  • Trej Gun

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

    Spritz 6 августа 2008 г. 12:17, спустя 4 минуты 6 секунд

    структуру таблицы в студию
  • JESS2

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

    Spritz 6 августа 2008 г. 12:35, спустя 18 минут 2 секунды

    Вот таблица категорий:

    CREATE TABLE IF NOT EXISTS `vA_categories` (
    `categoryID` int(11) NOT NULL auto_increment,
    `name` varchar(255) default NULL,
    `parent` int(11) default NULL,
    `products_count` int(11) default NULL,
    `description` text,
    `picture` varchar(30) default NULL,
    `show` int(11) default NULL,
    PRIMARY KEY (`categoryID`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=79 ;


    – Data i tabell `vA_categories`


    INSERT INTO `vA_categories` (`categoryID`, `name`, `parent`, `products_count`, `description`, `picture`, `show`) VALUES
    (1, 'Tillbehör', 0, 7, 'Att för data!', 'C1_jaguar.jpg', 1),
    (2, 'Datorer', 0, 17, 'Alla datorer!', 'C2_cphone.jpg', 1),
    (3, 'Macintosh', 0, 1, 'Apple', 'C3_RBaccess.jpg', 1),
    (6, 'AMD +5000', 2, 1, 'descript', 'C3_RBaccess.jpg', 1),
    (5, 'DVD-rom', 1, 17, 'descript', 'C2_cphone.jpg', 1),
    (4, 'Mus', 1, 7, 'descript', 'C1_jaguar.jpg', 1),
    (7, 'MacBook', 3, 3, 'descript', 'C3_RBaccess.jpg', 1),
    (8, 'Bilar', 0, 7, 'Att för bilar!', 'C1_jaguar.jpg', 1),
    (9, 'Ferrari', 8, 7, 'Att för data!', 'C1_jaguar.jpg', 1),
    (10, 'Lotus', 8, 17, 'Alla datorer!', 'C2_cphone.jpg', 1);


    И таблица товаров:

    CREATE TABLE IF NOT EXISTS `vA_products` (
    `productID` int(11) NOT NULL auto_increment,
    `categoryID` int(11) default NULL,
    `name` varchar(255) default NULL,
    `description` text,
    `customers_rating` float NOT NULL,
    `Price` float default NULL,
    `picture` varchar(30) default NULL,
    `in_stock` int(11) default NULL,
    `thumbnail` varchar(30) default NULL,
    `customer_votes` int(11) NOT NULL,
    `items_sold` int(11) NOT NULL,
    `big_picture` varchar(30) default NULL,
    `enabled` int(11) NOT NULL,
    `brief_description` text,
    `list_price` float default NULL,
    `product_code` char(25) default NULL,
    PRIMARY KEY (`productID`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=115 ;


    – Data i tabell `vA_products`


    INSERT INTO `vA_products` (`productID`, `categoryID`, `name`, `description`, `customers_rating`, `Price`, `picture`, `in_stock`, `thumbnail`, `customer_votes`, `items_sold`, `big_picture`, `enabled`, `brief_description`, `list_price`, `product_code`) VALUES
    (1, 9, 'Ferrari 360S', 'Super car!', 4.06667, 70000, '1_L2.jpg', 5, '1_L1.jpg', 12, 20, '1_L0.jpg', 1, '', 0, ''),
    (2, 10, 'Lotuse Elise ', 'Sport car!', 3.06667, 60000, '1_L2.jpg', 5, '1_L1.jpg', 12, 20, '1_L0.jpg', 1, '', 0, '');

  • Professor

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

    Spritz 6 августа 2008 г. 13:09, спустя 33 минуты 36 секунд

    Чето совсем ничего непонятно что надо сделать=(

    Может так???
    <?php
    $tablename = "vA_categories";

    $refresh = $_SERVER['PHP_SELF'];


    $result = mysql_query("SELECT * FROM $tablename WHERE `show` = '1' AND `parent` = '0'");
    while($data = mysql_fetch_row($result))


    {

    echo "<a href='?catID=".$data[0]."'>".$data[1]."</a><br>";

    if(isset($_GET['catID']))
    {
    if($_GET['catID']==$data[0])
    {

    $result2 = mysql_query("SELECT * FROM $tablename WHERE `parent` = '{$_GET['catID']}' AND `parent` != '0'");
    while($data2 = mysql_fetch_row($result2))
    {
    echo "<ul><a href='?catID=".$data[0]."&info=".$data2[0]."'>".$data2[1]."</a><br>";
    if($_GET['info']==$data2[0])
    {
    print "<li>".$data2[0]."/productID<br>";
    print "<li>".$data2[1]."/name<br>";
    print "<li>".$data2[2]."/parent<br>";
    print "<li>".$data2[3]."/product_count<br>";
    print "<li>".$data2[4]."/description<br>";
    print "<li>".$data2[5]."/picture<br>";
    print "<li>".$data2[6]."/show<br>";
    print "<li>".$data2[7]."/show<br>";

    print "<a href=#><img src=images/buy_it2.png width=91 height=20 border=0></a><br>";
    }
    print "</ul>";
    }
    }
    }
    }
    print "</ul>";
    print "<hr>";
    mysql_close();

    ?>


  • md5

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

    Spritz 6 августа 2008 г. 14:07, спустя 57 минут 59 секунд

    Professor, это не удачный вариант
    запрос в цикле это очень плохо

    но для частного случая пойдет

    но для больших деревьев нужна другая структура и соответственно другая выборка в один запрос
    все умрут, а я изумруд
  • Professor

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

    Spritz 6 августа 2008 г. 14:18, спустя 10 минут 52 секунды

    Это я не код ему написал.
    На этом примере я хотел узнать то ему надо или не то.
    Тут вообще жесть написана=))
  • Trej Gun

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

    Spritz 6 августа 2008 г. 14:23, спустя 4 минуты 52 секунды

    тебе не списки смежности надо а вложеные множества
    чета я вечером не соображу как лучше сделать

    Тут вообще жесть написана=))

    ага - непонятные принты и эхи
    и очень нужный пустой UL
  • JESS2

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

    Spritz 6 августа 2008 г. 16:13, спустя 1 час 50 минут

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

    Пример, который Вы мне привели, подходит, но я не знаю как при нажатии на кнопку купить, окно не обновлялось и тд меню, каталог с под каталогами тоже обновляется до исходного вида…. =(
  • Trej Gun

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

    Spritz 7 августа 2008 г. 4:24, спустя 12 часов 11 минут 43 секунды

    JESS2, возьми готовое движло типа OSCommerce
  • JESS2

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

    Spritz 7 августа 2008 г. 6:36, спустя 2 часа 11 минут 28 секунд

    Тогда не интересно =(
  • md5

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

    Spritz 7 августа 2008 г. 6:50, спустя 14 минут 23 секунды


    я не знаю как при нажатии на кнопку купить, окно не обновлялось и тд меню, каталог с под каталогами тоже обновляется до исходного вида…. =(
    что это?
    все умрут, а я изумруд
  • JESS2

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

    Spritz 7 августа 2008 г. 7:10, спустя 19 минут 37 секунд

    в смысле?
  • megabit

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

    Spritz 7 августа 2008 г. 7:13, спустя 3 минуты 42 секунды



    я не знаю как при нажатии на кнопку купить, окно не обновлялось и тд меню, каталог с под каталогами тоже обновляется до исходного вида…. =(
    что это?

    набор слов =)
  • md5

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

    Spritz 7 августа 2008 г. 7:23, спустя 9 минут 25 секунд


    в смысле?
    ну не поянтно, что ты хочешь
    все умрут, а я изумруд
  • Animator

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

    Spritz 7 августа 2008 г. 7:46, спустя 22 минуты 52 секунды


    Professor, это не удачный вариант
    запрос в цикле это очень плохо

    но для частного случая пойдет

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


    где можно почитать на эту тему? и про запросы в цикле и про другую выборку

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