ФорумПрограммированиеPHP для идиотов → Проблемы с навигацией

Проблемы с навигацией

  • phpdude

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

    Spritz 2 января 2009 г. 14:06, спустя 1 минуту 40 секунд

    веб дванольный

    "адын адын … адын адын … адын адын… СРУУУУ СРУУУУ!!! адын адын … адын адын …" )))))))))))))))))
    Сапожник без сапог
  • Trej Gun

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

    Spritz 2 января 2009 г. 14:06, спустя 11 секунд

    хуле паравоз?
  • phpdude

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

    Spritz 2 января 2009 г. 14:09, спустя 2 минуты 38 секунд


    хуле паравоз?
    паровоз упячкинский… ты произнеси))
    Сапожник без сапог
  • AdmBuxonly

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

    Spritz 2 января 2009 г. 16:19, спустя 2 часа 9 минут 59 секунд

    Цитата:
    Зачем { } ну потому, что без них у меня выдало ошибку


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

    я чесно говоря не помню точно цитату и кто ее автор но кажется Тесла
    Цитата:
    Для того чтобы понять суть явления (предмета) нужно узнать как оно было создано


    это я к тому что тебе плевать на простейшие вещи например типы данных в пхп. Я когда увидел что из массива можно вставлять и так {$a['x']} и так ".$a['x']." протестировал перфомас обоих вариантов и первый был быстрее

    Я чесно надеюсь что тебе лень а не что тебе не интересен вопрос… хотя наверное зря


    Вот если бы я знал, как проверить почему ошибка я бы с радостью это сделал, но я хз почему с {} работает а без {} не работает….
  • Trej Gun

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

    Spritz 3 января 2009 г. 1:04, спустя 8 часов 45 минут 13 секунд

    блять…. ну как люди проверяют почему ошибка, они смотрят логи или стек трэйс

    перед любфм скриптом пишешь
    ini_set('display_errors', 'On');
    error_reporting(E_ALL);

    и тебе все показываеться: где, как и почему
  • AdmBuxonly

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

    Spritz 3 января 2009 г. 1:46, спустя 42 минуты 9 секунд

    Спасибо, возьму на заметку… Я этого не знал…. Я ведь по книжкам учусь…ну + вы что-то новое рассказываете и все… больше знаний неоткуда брать…
  • Trej Gun

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

    Spritz 3 января 2009 г. 1:58, спустя 11 минут 25 секунд

    AdmBuxonly, пиздец тебе тяжело… я могу тебе помочь скажу откуда я беру знания тока никому больше не говори. мой источник google.com
  • Givi

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

    Spritz 3 января 2009 г. 7:37, спустя 5 часов 39 минут 2 секунды

    CTAPbIu_MABP
    Ок, насчет на "ты", то понял, буду стараться правильно говорить. Хотя, насчет "чувствую себя старым" - как написано, так и чувствуешь :)

    Насчет источника знаний, то Мавр прав - один из лучших, коли нет рядом шарящего человека, который может проконсультировать. + ещё к Гуглю нужно добавить php.net (это касается знаний в области языка php).
    А книги… они ведь разные бывают. Часто такое г..о попадается, что и не удивляешься почему книга в 600-ста страницах - чтоб хоть как-то оправдать свою цену :)
  • Professor

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

    Spritz 3 января 2009 г. 7:42, спустя 5 минут 1 секунду

    Не буду новую тему создавать, так как вопрос про то же.


    В общем нужно создать меню.
    Решение вот какое в голову лезет.

    CREATE TABLE `Menu` (
    `id` int(11) NOT NULL auto_increment,
    `parent_id` int(11) default '0',
    `Name` varchar(40) NOT NULL,
    `Sort` int(11) NOT NULL default '0',
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM ;

    Все пункты записываются в 1 таблицу

    А достается функцией

    function menu($id,$bek)
    {
    $sql=mysql_query ("SELECT * FROM `Menu` WHERE parent_id={$id} ORDER BY Sort");
    While($row=mysql_fetch_array($sql,MYSQL_ASSOC))
    {
    echo $bek.$row['Name']."<br>";
    menu($row['id'],$bek."****");
    }
    }

    menu(0,"");

    Это нормальное решение?
  • Professor

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

    Spritz 3 января 2009 г. 8:04, спустя 22 минуты 2 секунды

    и чтоб в норм вид привести то так делаем

    function menu($id)
    {
    $sql=mysql_query ("SELECT * FROM `Menu` WHERE parent_id={$id} ORDER BY Sort");

    While($row=mysql_fetch_array($sql,MYSQL_ASSOC))
    {
    $array[$row['Name']]=menu($row['id']);
    }
    return count($array)!=0?$array:" ";
    }

    $array=menu(0,"");
    print_r($array);
  • Givi

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

    Spritz 3 января 2009 г. 8:20, спустя 15 минут 42 секунды

    Professor
    Запросы в цикле!? При каждой загрузке страницы!? Пиздец будет. Так делать незя. Ну, или как вариант (сам так сделал) - выборка меню с последующим кэшированием результата в файл.
  • Professor

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

    Spritz 3 января 2009 г. 8:36, спустя 16 минут 13 секунд

    Ну хорошо, а вот новая реализация, с 1 запросом
    		$sql=mysql_query ("SELECT * FROM `Menu` ORDER BY Sort");

    While($row=mysql_fetch_array($sql,MYSQL_ASSOC))
    {
    $array[$row['parent_id']][$row['Name']]=$row;
    }




    function menu_show($id,$array,$bek)
    {
    foreach($array[$id] as $var=>$val)
    {
             echo $bek."{$var}<br>";
             if(count($array[$val['id']])>0)
             menu_show($val['id'],$array,$bek."*");
    }
    }

    menu_show(0,$array,"");


    Это норм?
  • Givi

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

    Spritz 3 января 2009 г. 8:46, спустя 10 минут 22 секунды

    Вот тут я уже подсказать не смогу, так как сам просто мегаслаб в этом. Знал вот что запросов делать в цикле незя. А что относительно рекурсии в задаче с меню - наверное хороший вариант, коли других нет. Все же лучше чем пачку запросов строить.
  • phpdude

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

    Spritz 3 января 2009 г. 9:14, спустя 28 минут 1 секунду

    лучше бд архитектуру переделать. использовать например nested sets. погугли
    Сапожник без сапог
  • Professor

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

    Spritz 3 января 2009 г. 9:34, спустя 19 минут 56 секунд

    Мля, там чтоб пункт добавить 4 запроса к БД сделать надо!!! =(

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