Делаю свой первый учебный сайт. В левом навигационном меню - РАЗДЕЛЫ и категории должны быть так:
ФРУКТОВЫЕ
яблоня
груша
слива
ОВОЩИ
картофель
морковь
свёкла
ЯГОДЫ
клубника
малина
ежевика
пытаюсь это сделать с применением php и sql.
Создал две таблицы: первая таблица РАЗДЕЛЫ, называется "part", содержит два поля: id и title ("ФРУКТЫ", "ОВОЩИ", "ЯГОДЫ"...).
Вторая таблица "категории", называется "categories", содержит 3 поля: id, part_id, title. В поле part_id записывается номер раздела соответствующей категории. Это поле и не могу (не умею) правильно использовать! Поле title - это названия категорий ("яблоня", "груша", "слива" - относятся к part_id=1, то есть к фруктам; "картофель", "свекла", "морковь" - part_id=2, то есть "овощи, и т.д.)
Вот код:
<? $result = mysql_query ('SELECT * FROM parts',$db);?>
<?php if (!$result){echo "<p>Запрос на выборку данных из базы не прошел. Сообщите об этом администратору<br><strong>Код ошибки:</strong></p>"; exit (mysql_error ());}
if (mysql_num_rows ($result) > 0) { while($myrow = mysql_fetch_array($result)):?>
<?php include ("blocks/menu-block.php");?>
<p>
<?php echo $myrow['title'];?></p>
<p>
<?php $result2 = mysql_query('SELECT * FROM categories',$db);
while($myrow = mysql_fetch_array($result2)):
?>
<?php echo $myrow['title'];?>
<?php endwhile; ?>
</p>
<?php include ("blocks/menu-block-end.php");?>
<?php endwhile;?>
<? }
else
{
echo "<p>Информация по запросу не может быть извлечена: в таблице нет записей.</p>";
exit();
}?>
Он дает такой вид меню:
ФРУКТОВЫЕ
яблоня груша слива картофель морковь свекла клубника малина ежевика
ОВОЩИ
яблоня груша слива картофель морковь свекла клубника малина ежевика
ЯГОДЫ
яблоня груша слива картофель морковь свекла клубника малина ежевика
В кодинге
<?php include ("blocks/menu-block.php");?>- это просто форматирование внешнего вида прямоугольников разделов тегами <table>, <tr>, <td> с прописанными стилями.
Прошу знатоков: исправьте мой кодинг, чтобы получилась правильная картина.
Всем принявшим участие в решении проблемы - большое спасибо.
p.s. Подскажите, как можно загрузить скриншот? Что-то не найду кнопки в расширенном режиме.
Спустя 1 час, 49 минут, 58 секунд (27.07.2010 - 12:43) MrBrown написал(а):
Помощь не понадобилась - всё сделал сам!
Может кому-то пригодится:
Всем удачи!
Может кому-то пригодится:
<? $result = mysql_query ('SELECT * FROM parts',$db); ?>
<?php if (!$result){echo "<p>Запрос на выборку данных из базы не прошел. Сообщите об этом администратору<br><strong>Код ошибки:</strong></p>"; exit (mysql_error ());}
if (mysql_num_rows ($result) > 0) { while($myrow = mysql_fetch_array($result)):?>
<?php include ("blocks/menu-block.php");?>
<?php $n=$myrow['id'];?>
<p>
<?php echo $myrow['title'];?></p>
<p>
<?php $result2 = mysql_query("SELECT * FROM categoriess WHERE part_id='$n'",$db); ?>
<?php while($myrow2 = mysql_fetch_array($result2)): ?>
</p>
<?php echo $myrow2['title'];?>
<?php endwhile; ?>
</p>
<?php include ("blocks/menu-block-end.php");?>
<?php endwhile;?>
<? }
else
{
echo "<p>Информация по запросу не может быть извлечена: в таблице нет записей.</p>";
exit();
}?>
Всем удачи!
Спустя 20 минут, 32 секунды (27.07.2010 - 13:03) SlavaFr написал(а):
Цитата (MrBrown @ 27.07.2010 - 09:43) |
Может кому-то пригодится: |
врядли.
1) Инклудирен в цикле это очень медленно, так что надо содержимое от инклуде загнать в переменную
2)тут надо все одним единственным селектом с INNER JOIN делать и проверяя в цикле (не изменилась ли parts.id ?) решать о надобности вставки title и menu-block
Спустя 2 дня, 19 часов, 37 минут, 50 секунд (30.07.2010 - 08:41) MrBrown написал(а):
SlavaFr
"Попрошу в моём топике не выражаться!"
Типа как много ещё не знаю. Пожалуйста, подскажите ссылочку, где по-русски объясняется это условие - INNER JOIN. Ну и вообще что-либо по моей теме. Например, как содержимое инклуда загнать в переменную. Не в общем и целом, это-то мне понятно, а с конкретными примерами скриптов, так как я слаб в этих запятых, кавычках, слешах...
Спасибо.
"Попрошу в моём топике не выражаться!"

Типа как много ещё не знаю. Пожалуйста, подскажите ссылочку, где по-русски объясняется это условие - INNER JOIN. Ну и вообще что-либо по моей теме. Например, как содержимое инклуда загнать в переменную. Не в общем и целом, это-то мне понятно, а с конкретными примерами скриптов, так как я слаб в этих запятых, кавычках, слешах...
Спасибо.
Спустя 6 минут, 25 секунд (30.07.2010 - 08:47) Lenarfate написал(а):
а че обязательно почти каждую строчку заключать в <?php ?> ???
и еще, данный синтаксис у циклов уже давно устарел, где вы взяли такие уроки, или что это там...?
и еще, данный синтаксис у циклов уже давно устарел, где вы взяли такие уроки, или что это там...?
Спустя 2 минуты, 46 секунд (30.07.2010 - 08:50) Lenarfate написал(а):
Цитата |
Пожалуйста, подскажите ссылочку, где по-русски объясняется это условие - INNER JOIN |
Спустя 16 дней, 5 часов, 4 минуты, 43 секунды (16.08.2010 - 13:55) Guest написал(а):
Lenarfate
[/quote]где вы взяли такие уроки, или что это там...?[quote]
Из уроков Е.Попова. Кто-то его хвлит, кто-то ругает, но получилось так по судьбе, что его уроки - первое, что мне попалось из понятного материала.
[/quote]где вы взяли такие уроки, или что это там...?[quote]
Из уроков Е.Попова. Кто-то его хвлит, кто-то ругает, но получилось так по судьбе, что его уроки - первое, что мне попалось из понятного материала.
Спустя 1 минута, 18 секунд (16.08.2010 - 13:56) MrBrown написал(а):
Lenarfate Извините, забыл представиться в предыдущем ответе.
Спустя 1 минута, 26 секунд (16.08.2010 - 13:58) DedMorozzz написал(а):
Да, классный тип. И мы его фанаты. Соответствующие вопросы - лучше всего задавать на его форуме. Он веть учитель и истинные учителя всегда смогут грамотно и сразу ответить на вопросы, которые возникают в ходе обучения...
Спустя 23 часа, 50 минут, 18 секунд (17.08.2010 - 13:48) MrBrown написал(а):
DedMorozzz, увы, его уроки мне достались "халявно-случайно", поэтому я не зарегистрирован у него как его клиент-покупатель. И, следовательно, не могу задавать вопросы.
p.s. А ваш форум получше во многих отношениях. Главный недостаток форума Попова тот, что там обсуждаются в основном только проблемы по его урокам. А у вас - любые вопросы.
p.s. А ваш форум получше во многих отношениях. Главный недостаток форума Попова тот, что там обсуждаются в основном только проблемы по его урокам. А у вас - любые вопросы.
Спустя 5 минут, 26 секунд (17.08.2010 - 13:53) DedMorozzz написал(а):
Мой пост был пропитан сарказмом от самой первой буквы.
Цитата |
Из уроков Е.Попова. Кто-то его хвлит, кто-то ругает |
Зная отношение к нему всех, кто профессионально занимается программированием, Вы всё равно по нему начали учиться. Т.е. вовсе не смутило то, что его код со всех сторон кривой, не правильный и не безопасный. И после него надо полностью переучиваться.
Зная всё это(а это следует из Вашей цитаты), всё равно прошли его курсы и после, с вопросами заходите на форум, где Вам всё равно скажут - забудьте то что учили, и начините вообще с нуля. Иль это такой "аля тонкий" троллинг?
Зная всё это(а это следует из Вашей цитаты), всё равно прошли его курсы и после, с вопросами заходите на форум, где Вам всё равно скажут - забудьте то что учили, и начините вообще с нуля. Иль это такой "аля тонкий" троллинг?
Спустя 1 час, 7 минут, 7 секунд (17.08.2010 - 15:00) MrBrown написал(а):
DedMorozzz
Цитата |
Зная отношение к нему всех... |
Именно "не зная". Эти уроки - первое, что попалось мне халявно-случайно. Сами знаете, наверное, платить у нас никто не любит. Однако не хочу оправдываться. Да, его уроки казались мне верхом мастерства.
До той поры, пока я не начал лазить по разным PHP-SQL форумам, как у меня появился интернет.
И тем не менее, я его не ругаю, как многие, ведь у каждого и во всём есть "первый учитель", "первая учительница", пусть с недостатками преподавания. Е.Попов открыл мне самые начала строительства сайтов, пришло время идти дальше, к лучшим мастерам, и я с благодарностью прощаюсь с его методой.
Мда, кажется меня занесло в сторону от темы топика. Ну, да уж как вышло. Извиняйте.
Спустя 7 минут, 11 секунд (17.08.2010 - 15:08) DedMorozzz написал(а):
http://www.irbis-team.com/15 вкушай. Это общий курс. По сабжу - http://www.w3schools.com/sql/default.asp
Спустя 3 часа, 51 минута, 39 секунд (17.08.2010 - 18:59) Rutmens написал(а):
Да помню когда я скачал уроки этого МАСТЕРА и тоже тренировался , но у меня были книги уже и я понемного по ним строгал так как видео надоедает смотреть и запускать .. легче книгу взять и найти то что тебе нужно .
P.S У него в уроках я не заметил про OOП что это такое и с чем его едят .
Но больше мне всего запомнилось одно дословно не помню но - "Лучше учиться по видео урокам чем по книгам !!!!" Думаю понятно к чему МАСТЕР ПИ или МИ клонит !!! ташите мне бабос !!!
P.S У него в уроках я не заметил про OOП что это такое и с чем его едят .
Но больше мне всего запомнилось одно дословно не помню но - "Лучше учиться по видео урокам чем по книгам !!!!" Думаю понятно к чему МАСТЕР ПИ или МИ клонит !!! ташите мне бабос !!!
Спустя 14 часов, 40 минут, 42 секунды (18.08.2010 - 09:40) MrBrown написал(а):
DedMorozzz
Цитата |
вкушай |
За ссылки большое спасибо. Очень нужная инфа.
Спустя 19 минут, 41 секунда (18.08.2010 - 10:00) Basili4 написал(а):
Может уже пора раздел создать АнтиПоопов И туда всех учеников Попова. Модера им выделить Я могу подрядится и популярно разжевывать им что куда и почему Попов это плохо.
А то пол форума уже тредами о Попове. Во всем разделах. Куда не залезь Там Он. Интересно анекдотов про Попова еще Нет. Вот когда будут Анекдоты это верх популярности.
А то пол форума уже тредами о Попове. Во всем разделах. Куда не залезь Там Он. Интересно анекдотов про Попова еще Нет. Вот когда будут Анекдоты это верх популярности.
Спустя 42 секунды (18.08.2010 - 10:00) DedMorozzz написал(а):
Не идиализируй.
Спустя 26 минут, 21 секунда (18.08.2010 - 10:27) Basili4 написал(а):
Цитата (DedMorozzz @ 18.08.2010 - 11:00) |
Не идиализируй. |
Кого ? Попова....
Я не идеализирую. Но анек про него надо придумать.
Спустя 6 дней, 3 часа, 50 минут, 53 секунды (24.08.2010 - 14:18) Guest написал(а):
Цитата |
Но анек про него надо придумать |
Вот первый анекдот, точнее, каламбур (дед мороз, прости, что не в тему топика. Или открой новый раздел):
"Кто такой Попов? Конечно знаю! Это ж известный клоун! Правда староват уже."
А про раздел "анти-Попов" - это ценное предложение. Несмотря на то, что он (Попов) - мой , как говорится, первый учитель, увы, многое приходится переучивать, ставить с головы на ноги. Потому и плюхаюсь до сих пор с простейшими кодами. Только назвать надо не в обиду Е.Попову ("Анти-Попов"), а как-то конкретнее, ну, например "Правильный синтаксис - для новичков."
Спустя 1 день, 21 минута, 14 секунд (25.08.2010 - 14:39) MrBrown написал(а):
Получилось! Код значительно короче:
А подскажите, как сделать, чтобы открывались не все превьюшки статей, а только нужные? Надо как-то изменить строку со ссылкой href и якорем %s, а как - я не знаю.
<? $result = mysql_query ("SELECT parts.id, parts.part, cats.id_part, cats.cat FROM parts, cats WHERE cats.id_part = parts.id GROUP BY parts.id", $db);
?>
<?php
while ($myrow = mysql_fetch_array ($result)):?>
<strong> <?php echo $myrow['part'] . "<br>"; ?> </strong>
<?php $n = $myrow['id'];
$result2 = mysql_query ("SELECT * FROM cats WHERE id_part = $n ", $db);
while ($myrow2 = mysql_fetch_array ($result2)):?>
<a href = 'view_cats.php?cat=%s'><?php echo $myrow2['cat'];?></a><br>
<?php endwhile;
endwhile;
?>
А подскажите, как сделать, чтобы открывались не все превьюшки статей, а только нужные? Надо как-то изменить строку со ссылкой href и якорем %s, а как - я не знаю.