|
|
|
| счетчик
$query = "SELECT COUNT(*) FROM school
WHERE id_rono='$myrow[id_rono]'";
$res = mysql_query($query);
if(!$res) exit("<br>Ошибка обращения к базе данных - ".mysql_error());
$total = mysql_result($res, 0);
|
правильно выводит значение только для первой записи.
остальные записи имеют тоже самое значение $total.
Пробовал вывести вне цикла. Все равно не верное значение.
<?php
$result = mysql_query("SELECT * FROM rono WHERE id_mo='$id_mo' ORDER by name");
if (!$result)
{
echo "<p>Запрос на выборку данных из базы не прошел. </p>";
exit (mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);
$query = "SELECT COUNT(*) FROM school
WHERE id_rono='$myrow[id_rono]'";
$res = mysql_query($query);
if(!$res) exit("<br>Ошибка обращения к базе данных - ".mysql_error());
$total = mysql_result($res, 0);
do
{
printf ("<a href='rono.php?id_rono=%s'>", $myrow["id_rono"]);
printf ("<h3>%s</a></h3>
", $myrow["name"]);
echo "<p>Количество школ ($total)</p>";
}
while ($myrow = mysql_fetch_array($result));
}
?>
|
| |
|
|
|
|
|
|
|
для: liberty
(22.06.2013 в 22:57)
| | Вы не правильно расставляете кавычки.
Да, и если id_rono у вас - целое, то в запросе кавычки не нужны.
<?
$query = "SELECT COUNT(*) FROM school
WHERE id_rono={$myrow['id_rono']}";
| или
<?
$query = "SELECT COUNT(*) FROM school
WHERE id_rono=".$myrow['id_rono'];
|
| |
|
|
|
|
|
|
|
для: liberty
(22.06.2013 в 22:57)
| | А вообще, все что вы тут делаете, делается одним запросом:
SELECT id_rono
, count(*)co
FROM school
GROUP BY id_rono
| а не 1 запрос + N запросов в цикле! | |
|
|
|
|
|
|
|
для: liberty
(22.06.2013 в 22:57)
| | А если еще внимательнее посмотреть, то в цикле вы только выводите результат одного единственного запроса. Сам запрос у вас перед циклом. Так откуда же возьмется разный результат, если запрос был сделан только для одного ID? | |
|
|
|