menu_category
~~~~~~~
id
name
order
menu_items
~~~~~~~~~~~
id
menu_category_id
name
url
order
SELECT
`c`.`id` as `id`,
`c`.`name` as `name`,
`i`.`id` as `item_id`,
`i`.`name` as `item_name`,
`i`.`url` as `item_url`
FROM `menu_category` as `c`
LEFT JOIN `menu_items` as `i` ON `i`.`menu_category_id`=`c`.`id`
ORDER BY `c`.`order`, `i`.`order`
$menu = [];
foreach ($results as $res) {
$menu[$res['id']]['name'] = $res['name'];
$menu[$res['id']]['items'][] = [
'name' => $res['item_name'],
'url' => $res['item_url'],
]
}
[1]=>[
'name' => 'Категория 1',
'items' => [
['name'=>'Ссылка 11', 'url'=>'http://site11.ru'],
['name'=>'Ссылка 12', 'url'=>'http://site12.ru'],
]
],
[2]=>[
'name' => 'Категория 2',
'items' => [
['name'=>'Ссылка 21', 'url'=>'http://site21.ru'],
['name'=>'Ссылка 22', 'url'=>'http://site22.ru'],
]
],
echo '<ul>';
foreach($menu as $catId=>$cat) {
echo '<li>'.$cat['name'];
if (isset($cat['items'])) {
echo '<ul>';
foreach($cat['items'] as $item) {
echo '<li><a href="'.$item['url'].'">'.$item['name'].'</a></li>';
}
echo '</ul>';
}
echo '</li>';
}
echo '</ul>';
Обойдусь без копипастов и даже ссылок о том, что Ruby за зверь такой, ибо написано было уже сполна. В данном посте просто хочу рассказать о пути изучения Ruby (и, впоследствии фреймворка Ruby on Rails) человека далекого от программирования.
C# + Asp.Net MVC вполне нормальное решение. Более того, если поставить нормальную цель, можно вполне изучить c#, html. jquery, css(twitter bootstrap), ms sql, linq, и другие сопутствующие технологии, вроде системы контроля версий, IIS, и какого-нить тестового фреймворка вроде *unit.
Если посчитать, что я написал прототип домашней бухгалтерии с нуля с практически нулевым знанием языка за фултайм по 8 часов в день за три месяца, вполне нормально. Учитывая, что мне 30 и я системный адинистратор и писал её пару часов в день вечером после работы, вполне нормально для новичка.
Основы можно вполне неплохо получить пройдя за полчаса вводные руководства по mvc по созданию онлайн магазина музыкальных дисков. Мне этого с головой хватило.
1. Не читайте курсы Попова Евгения.
2. Читайте книги и пишите код в одинаковых пропорциях.
3. Не трогайте старое засохшее г, такое как Joomla, Wordpress, Drupal (7 и ниже), Codeignitor.
4. У PHP и Python сейчас есть отличный конкурент - Go (golang). Попробуйте изучать его здесь: http://golang.org/ - сложность не выше, зато есть статическая типизация, всякие плюшки современные и сообщество, состоящее из более опытных перцев, чем сообщество PHP (это важно).
5. Английский язык необходим, читайте всё на английском, русскоязычные ресурсы и книги обычно лежат в далёком прошлом - в мире web всё меняется и развивается очень быстро.
6. На все вопросы Вам ответит Stackoverflow. Опираться на мнение одного единственного человека в курсах - хуже.
7. https://www.coursera.org/
Советую освоить за пару недель вёрстку (html + css), затем начать изучение JS – сначала можно различные простенькие эффекты. Делаете на jQuery, затем реализуете то же самое на чистом JS. Потом – написать какой-нибудь плагин к jQuery. Потом освоить Backbone. Понять, как работают замыкания и прототипная модель. Начать осваивать Node.js. Написать простенький веб-сервер с роутингом (без использования фреймворков типа express). Подключить к этому серверу какую-нибудь базу данных (Монго, Couchbase, Redis). Дальше, думаю, сами будете понимать, куда развиваться.
Зарабатывать можно, начиная уже через 2-3 недели освоения вёрстки – либо фриланс, либо устроиться в небольшую фирмочку, которая клепает сайты. Фриланс лучше – сможете сами выбирать технологии и оптимизировать работу по времени.