За последние 24 часа нас посетили 34333 программиста и 1709 роботов. Сейчас ищут 805 программистов ...

Количество записей в таблице

Тема в разделе "PHP для новичков", создана пользователем greenzlat, 14 фев 2010.

  1. greenzlat

    greenzlat Активный пользователь

    С нами с:
    27 апр 2008
    Сообщения:
    255
    Симпатии:
    0
    Делаю подсчет кол-ва постов по категориям. Но почему-то, если их больше 9, то есть двузначное число становится, то отображает только первую цифру числа: то есть если у меня в таблице 34 поста, он мне выдает [3].

    PHP:
    1. <?
    2.  $kategor = mysql_query ("SELECT * FROM kategor",$db);
    3.  while ($kateg = mysql_fetch_array ($kategor))
    4.   { $sum_topik = "SELECT COUNT(*) FROM bd
    5.         WHERE kod=1 and kat=".$kateg["id"];
    6.   $totaltop = mysql_query($sum_topik);
    7.   $f_com = mysql_result($totaltop, 0);
    8.   $total_topik = $f_com[0];
    9.  if ($kateg["id"]==$kat)
    10.  {
    11.  
    12.  
    13.  ?>
    14.  <td class="tabl_comment1"><a href="../kategor.php?kat=<?php echo $kateg["id"];?>"><?php echo $kateg["title"];?></a>&nbsp;<span class="sum_top">[<?php echo $total_topik;?>]</span></td>
    15.              </tr>
    16.  <? }
    17.  else
    18.  { ?>
    19.  <td onMouseOver="this.style.backgroundColor='#FDD095'" onMouseOut="this.style.backgroundColor='#F8BD71'"><a href="../kategor.php?kat=<? echo $kateg["id"];?>"><? echo $kateg["title"];?></a>&nbsp;<span class="sum_top">[<?php echo $total_topik;?>]</span></td>
    20.              </tr>
    21.  <? }  }
    22.    
    23.    ?>    
     
  2. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    $total_topik = $f_com;
     
  3. engager

    engager Активный пользователь

    С нами с:
    21 янв 2009
    Сообщения:
    1.106
    Симпатии:
    1
    Какой ужас.
    А если у тебя тысяча категорий вернется в первом селекте, ты будешь 1000 запросов на каждой итерации делать?
     
  4. greenzlat

    greenzlat Активный пользователь

    С нами с:
    27 апр 2008
    Сообщения:
    255
    Симпатии:
    0
    А как надо подскажите??
     
  5. engager

    engager Активный пользователь

    С нами с:
    21 янв 2009
    Сообщения:
    1.106
    Симпатии:
    1
    Все в первом запросе вернуть.
    Покажи структуру этих двух таблиц.
     
  6. greenzlat

    greenzlat Активный пользователь

    С нами с:
    27 апр 2008
    Сообщения:
    255
    Симпатии:
    0
    таблица bd
    id int(5) auto_increment
    kat int(2)
    title varchar(255)
    text text
    view int(7)


    таблица kategor
    id int(5)
    title varchar(255)
    text text
     
  7. Graph

    Graph Активный пользователь

    С нами с:
    22 авг 2008
    Сообщения:
    22
    Симпатии:
    0
    Ну примерно так,

    Select count(*)as num, k.* from `bd` b
    left join `kategory` k on b.`kat`= k.`id`
    group by b.`kat`