|
|
|
| Есть таблица с двумя полями, таблица рубрик она у меня. (table1)
(int)id
(str)описание
(str)подробное описание
Есть вторая таблица, где содержится сама информация. (table2)
(int)id - чтоб знать к какой рубрике она относится
(str)информация 1
(str)информация 2
(str)информация 3
(str)информация n
Вот в чем загвоздка.
Делаю запрос
$sql="SELECT * FROM table1";
$result=mysql_query($sql, $msconnect);
if(mysql_num_rows($result)>0)
{
$arr="";
while($row=mysql_fetch_array($result))
{
$pn=$row['id'];
$name=$row['описание'];
$arr.="<a href=\"?kat=".$id."\">".$name."</a> (Здесь хочу видеть количество)</div>";
}
}
|
как мне можно добиться того, чтобы в цикле происходил еще один запрос, который давал бы мне цифру количества записей данной рубрики.
пробовал так
$sql="SELECT * FROM table1";
$result=mysql_query($sql, $msconnect);
if(mysql_num_rows($result)>0)
{
$arr="";
while($row=mysql_fetch_array($result))
{
$sql="SELECT * FROM table2 where id like '%".$id."%'";
$result=mysql_query($sql, $msconnect);
$posts=mysql_num_rows($result);
$pn=$row['id'];
$name=$row['описание'];
$arr.="<a href=\"?kat=".$id."\">".$name."</a> ($post)</div>";
}
}
|
В этом случае выводит только одну ссылку. Видимо так нельзя делать. Да и 62 запроса не многовато ли?
Выслушаю любой совет, если надо поменяю структуру. Главное, чтоб это было максимально оптимально. | |
|
|
|
|
|
|
|
для: Рома
(26.06.2009 в 23:24)
| | Это у Вас критерий оптимума такой - текст без отступов писать?
P.S. 50 процентов ответа (обсцентная составляющая) благоразумно вырезана автором.
P.P.S. маленькая подсказка.
В строке while($row=mysql_fetch_array($result)) значение переменной $result используется не один раз, а много.
По Вашим словам - 62 раза.
P.P.P.S. А переменная $post не определена вообще. | |
|
|
|
|
|
|
|
для: Trianon
(26.06.2009 в 23:57)
| | >Это у Вас критерий оптимума такой?
Не, в смысле оптимально ли 62 раза к базе ходить?
>Текст без отступов писать?
Это у меня привычка с детства, как бороться не знаю.
>P.P.S. маленькая подсказка.
>В строке while($row=mysql_fetch_array($result)) значение переменной $result используется не один раз, а много.
Вот спасибо, а я не доглядел. Это и была причина всех моих бед. | |
|
|
|
|
|
|
|
для: Рома
(27.06.2009 в 00:41)
| | >>Текст без отступов писать?
>Это у меня привычка с детства, как бороться не знаю.
Вы с детства пишете программный код? На фортране чтоли?
Как бороться...
а) поверить на слово, что смотрится код таким образом представленный - отвратно.
Как если бы был написан на мятой жеваной со следами прменения бумаге.
б) ну если не помогло ... тогда топор, пожалуй. | |
|
|
|