Нужна помощь с запросом SQL

#1 5 октября 2012 в 02:29
Уже всю голову изломал, помогите кто-нибудь) Могу даже за платно… (это не инстант, это джумла)

Есть такой код

  1. <?php
  2. $db_host="localhost";
  3. $db_user="rossoman";
  4. $db_pass="fhntv1312";
  5. $db_main="zachem_arkweb";
  6. $link = mysql_connect($db_host,$db_user,$db_pass);
  7. mysql_select_db($db_main,$link) or die ('Can\'t use '.$db_main.' : ' . mysql_error());
  8.  
  9. /*Получаем выбранные категории, можно поместить в масив*/
  10. $idCat1 = 23;
  11. $idCat2 = 24;
  12. $idCat3 = 25;
  13. $idCat4 = 26;
  14. $idCat5 = 27;
  15. $idCat6 = 28;
  16. $idCat7 = 29;
  17. $idCat8 = 30;
  18. $idCat9 = 31;
  19. $idCat10 = 32;
  20. $idCat11 = 33;
  21. $idCat12 = 34;
  22. $idCat13 = 35;
  23. $idCat14 = 36;
  24. $idCat15 = 37;
  25. $idCat16 = 38;
  26. $idCat17 = 39;
  27. $idCat18 = 40;
  28. $idCat19 = 41;
  29. $idCat20 = 42;
  30.  
  31.  
  32. /*Получаем названия категорий*/
  33. $query = "SELECT id, alias, lft, title AS ctitle FROM rhv4s_categories WHERE id IN(".$idCat1.','.$idCat2.','.$idCat3.','.$idCat4.','.$idCat5.','.$idCat6.','.$idCat7.','.$idCat8.','.$idCat9.','.$idCat10.','.$idCat11.','.$idCat12.','.$idCat13.','.$idCat14.','.$idCat15.','.$idCat16.','.$idCat17.','.$idCat18.','.$idCat19.','.$idCat20.")
  34. ORDER BY lft ASC";
  35. $result = mysql_query($query);
  36. $num = mysql_num_rows($result);
  37.  
  38. $array = array();
  39. for ($i=0; $i < $num; $i++){
  40. mysql_data_seek($result,$i);
  41. $row=mysql_fetch_object($result);
  42. $array[$row->id][] = $row->ctitle;
  43. }
  44.  
  45.  
  46. /*Получаем материалы соответствующих категорий*/
  47. $query = "SELECT id, alias, title AS ititle, catid FROM rhv4s_content WHERE catid IN(".$idCat1.','.$idCat2.','.$idCat3.','.$idCat4.','.$idCat5.','.$idCat6.','.$idCat7.','.$idCat8.','.$idCat9.','.$idCat10.','.$idCat11.','.$idCat12.','.$idCat13.','.$idCat14.','.$idCat15.','.$idCat16.','.$idCat17.','.$idCat18.','.$idCat19.','.$idCat20.") ORDER BY id DESC";
  48. $result=mysql_query($query);
  49. $num=mysql_num_rows($result);
  50. for ($i=0; $i < $num; $i++){
  51. mysql_data_seek($result,$i);
  52. $row=mysql_fetch_object($result);
  53. $array[$row->catid][$row->id][$row->ititle] = $row->alias;
  54. }
  55.  
  56. print_r ($array);
  57.  
  58.  
  59.  
  60. /*Отображаем ссылки на материалы*/
  61. foreach($array as $catid){
  62. echo '<table><tr>';
  63. echo '<h3>'.$catid[0].'</h3>';
  64.  
  65. foreach($catid as $id=>$alias){
  66.  
  67. foreach($catid as $alias=>$ititle){
  68. echo '<li><a href="/treningi/'.$alias.'">'.$ititle.'</a></li>';
  69. }
  70.  
  71. }
  72.  
  73. echo '</tr></table>';
  74. }
Он выдергивает из базы необходимые категории и название статей к ним. Выводить он все выводит, но, я никак не могу понять, почему он дублирует ссылками названия разделов???
А еще мне нужно, чтобы скрипт брал из массива алиас и добавлял его к ссылке.
В массиве есть все что нужно я так понимаю, я не могу это все вывести на сайт в том виде в котором мне нужно. Кроме того почему-то название статьи не выводиться из массива.

А нужно мне вывести таблицу вида:



и т.д. Надеюсь доступно объяснил.

Результат здесь zachem.arkweb.ru/treningi

Я готов заплатить тому, кто поможет мне с этим гемором.
#2 5 октября 2012 в 20:32

почему он дублирует ссылками названия разделов???


  1. /*Отображаем ссылки на материалы*/
  2. foreach($array as $catid){
  3. echo '<table><tr>';
  4. echo '<h3>'.$catid[0].'</h3>';
  5.  
  6. foreach($catid as $id=>$alias){
  7.  
  8. foreach($catid as $alias=>$ititle){
  9. echo '<li><a href="/treningi/'.$alias.'">'.$ititle.'</a></li>';
  10. }
  11.  
  12. }
  13.  
  14. echo '</tr></table>';
сдается мне что у тега <li> должен быть обязательно тег <ul>

<li> — элемент списка, а <ul> его открывает. вы создаете список без списка, поэтому может и плыть всё так

p.s склейте иконки соц сетей чтобы они в кэш попали
#3 6 октября 2012 в 00:20
<ul>
<li>пункт1</li>
<li>пункт2</li>
<li>пункт3</li>
</ul>

ul обязательно
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.