Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите с меню

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Помогите с меню
Kursant
Отправлено: 27 Января, 2010 - 08:40:47
Post Id



Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)

[+][+]


PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $result2 = mysql_query ("SELECT * FROM rubric", $db);
  3. $result10 = mysql_query ("SELECT COUNT(*) FROM data",$db);
  4. $sum = mysql_fetch_array($result10);
  5.  
  6. if(!$result2)
  7. {
  8. echo"<p>Запрос в базу данных не прошёл. Напишите об этом администратору admin@??.ru <br><strong>Код ошибки</strong></p>";
  9. }
  10. if(mysql_num_rows($result2)>0)
  11. {
  12. $myrow2 = mysql_fetch_array($result2);
  13.  
  14. do
  15. {
  16. printf("<div class='menu_item'><div class='bullet'></div><a href='lessons.php?rub=%s'>%s ($sum[0])</a></div>",$myrow2["id"], $myrow2["title"]);
  17. }
  18. while($myrow2 = mysql_fetch_array($result2));
  19.  
  20. }
  21. else
  22. {
  23. echo"<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";     
  24. exit();
  25. }
  26. ?>

Почему у меня выводит ко всем меню один материал. А у меня только у первой ссылки меню один материал. Что надо сделать?


Отредактировано модератором: SAD, 27 Января, 2010 - 09:40:46
 
 Top
valenok
Отправлено: 27 Января, 2010 - 09:15:18
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Нужно сначала выбрать все рубрики, потом у каждой рубрики по отдельности выбрать список уроков в ней.


-----
Truly yours, Sasha.
 
My status
 Top
Kursant
Отправлено: 27 Января, 2010 - 09:21:28
Post Id



Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)

[+][+]


valenok пишет:
Нужно сначала выбрать все рубрики, потом у каждой рубрики по отдельности выбрать список уроков в ней.


А напишите пожалуйста пример! Огорчение
 
 Top
valenok
Отправлено: 27 Января, 2010 - 09:29:11
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




PHP:
скопировать код в буфер обмена
  1. = SELECT список рубрик
  2. while ( $рубрика = mysql_fetch_assoc() )
  3. {
  4.   echo '<menu>';
  5.   $щ = SELECT список уроков WHERE рубрика = $рубрика[id]
  6.   while( $уроки=mysql_fetch_assoc()  )  
  7.      echo '<lesson>', $уроки[название], '</lesson>' ;
  8.   echo '</menu>';
  9. }


Если немного вникните в sql то сможете просто выбрать список уроков вместе с названиями рубрик к которым они относятся, сгруппировать уроки по рубрикам и вывести одним циклом и из одного запроса.

(Отредактировано автором: 27 Января, 2010 - 09:31:31)



-----
Truly yours, Sasha.
 
My status
 Top
Kursant
Отправлено: 27 Января, 2010 - 09:34:08
Post Id



Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)

[+][+]


А где у мення именно ошибка?
 
 Top
Kursant
Отправлено: 27 Января, 2010 - 10:18:01
Post Id



Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)

[+][+]


Вы не так поняли! У меня вот такое меню:
Прикреплено изображение
1.gif
 
 Top
Kursant
Отправлено: 27 Января, 2010 - 10:20:27
Post Id



Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)

[+][+]


А мне надо вот такое с цифрами сколько в каждой категории:
Прикреплено изображение
2.gif
 
 Top
Roler
Отправлено: 27 Января, 2010 - 10:56:44
Post Id



Посетитель


Покинул форум
Сообщений всего: 458
Дата рег-ции: Авг. 2008  
Откуда: Россия


Помог: 1 раз(а)




Я не большой спец по SQL, вообщем, идея такая - вытаскиваем из БД все уроки(только поле категория нам нужно), после чего, средствами PHP подсчитываем сколько уроков в категории.
Может быть можно и средствами SQL подсчитать, но я не знаю как.

(Отредактировано автором: 27 Января, 2010 - 10:58:02)

 
 Top
SDR
Отправлено: 27 Января, 2010 - 10:58:44
Post Id


Гость


Покинул форум
Сообщений всего: 72
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Гуглим про LEFT JOIN
Если скинешь структуру обеих таблиц, даже помогу на первый раз составить правильный запрос.
 
 Top
Kursant
Отправлено: 27 Января, 2010 - 11:41:01
Post Id



Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)

[+][+]


У меня код написан вверху, какие там ошибки? Огорчение
 
 Top
SDR
Отправлено: 27 Января, 2010 - 11:46:27
Post Id


Гость


Покинул форум
Сообщений всего: 72
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




1. код ужасен. ду_вайл особенно приколол, тыщу лет не видел, но это как раз дело вкуса
2. я предлагаю (используя джоин) всё упростить
3. если настаиваешь - ок, давай разбираться, что ты там делаешь и что не так. только пожалуйста откооментируй каждый момент, что, по твоему там происходит
 
 Top
Kursant
Отправлено: 27 Января, 2010 - 11:57:27
Post Id



Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)

[+][+]


SDR пишет:
1. код ужасен. ду_вайл особенно приколол, тыщу лет не видел, но это как раз дело вкуса
2. я предлагаю (используя джоин) всё упростить
3. если настаиваешь - ок, давай разбираться, что ты там делаешь и что не так. только пожалуйста откооментируй каждый момент, что, по твоему там происходит

У меня надо вторую строчку переделать?
 
 Top
SDR
Отправлено: 27 Января, 2010 - 12:04:25
Post Id


Гость


Покинул форум
Сообщений всего: 72
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Kursant пишет:
У меня надо вторую строчку переделать?

код настолько ужасен, что копаться в этом нет никакого желания, извини уж )))

всё, что могу предложить, это вместе сейчас всё это дело постепенно переписать. по-человечески.

если хочешь, то для начала сформулируй задачу, разбей на этапы и объясни алгоритм действий, без кода

(Отредактировано автором: 27 Января, 2010 - 12:05:00)

 
 Top
valenok
Отправлено: 27 Января, 2010 - 13:05:16
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Kursant, У вас в каждом пункте меню выводится количество $sum[0]
которое считается только один раз и просто выводится многократно.
В чем проблема Вы поняли?
Думайте как решить.


-----
Truly yours, Sasha.
 
My status
 Top
Kursant
Отправлено: 27 Января, 2010 - 13:49:28
Post Id



Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)

[+][+]


valenok пишет:
Kursant, У вас в каждом пункте меню выводится количество $sum[0]
которое считается только один раз и просто выводится многократно.
В чем проблема Вы поняли?
Думайте как решить.

А что там в выводе?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB