Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: счетчик
 
 автор: franko   (19.05.2011 в 19:30)   письмо автору
 
 

в тупик попал.

$myrow2 = mysql_fetch_array($result2);

$res = mysql_query("SELECT COUNT(id_university) FROM universities_specialities 
              WHERE id_speciality='$myrow2[id_speciality]'"); 
              $row = mysql_fetch_row($res); 
              $total = $row[0]; // всего записей 


мне нужно посчитать кол-во вузов WHERE id_speciality='$myrow2[id_speciality]'");
считает, но как взять другое число из myrow2?



ниже привожу весь код, в котором в $total постоянна. а нужно чтобы оно менялось
if (mysql_num_rows($result2) > 0)
{
$myrow2 = mysql_fetch_array($result2);



$res = mysql_query("SELECT COUNT(id_university) FROM universities_specialities 
              WHERE id_speciality='$myrow2[id_speciality]'"); 
              $row = mysql_fetch_row($res); 
              $total = $row[0]; // всего записей 



$x = 0;
$z = 1;
do
{
$x++; 
if ($x%2) 

printf ("<tr bgcolor='#F4F2F1'>
<td width='15px' align='center'>$z.</td>
<td><p><a href='post_specialities.php?id_speciality=%s'>%s</a>&nbsp;&nbsp;(ОКСО: %s)<br>ВУЗов: ($total) &nbsp;&nbsp;Квалификация: %s</p>
</td></tr>", 
$myrow2["id_speciality"], $myrow2["title"], $myrow2["kod"], $myrow2["qualification"]);
$z = $z + 1;
}
else
{printf ("<tr bgcolor='#ffffff'>
<td width='15px' align='center'>$z.</td>
<td><p><a href='post_specialities.php?id_speciality=%s'>%s</a>&nbsp;&nbsp;(ОКСО: %s)<br>ВУЗов: ($total) &nbsp;&nbsp; Квалификация: %s</p>
</td></tr>",$myrow2["id_speciality"], $myrow2["title"], $myrow2["kod"], $myrow2["qualification"]);

  Ответить  
 
 автор: parczynski   (19.05.2011 в 22:58)   письмо автору
 
   для: franko   (19.05.2011 в 19:30)
 

вы уверены что это весь код? чем хоть do {} заканчивается? чтобы взять другое число нужно еще раз $myrow2 = mysql_fetch_array($result2); выполнить

  Ответить  
 
 автор: Lotanaen   (20.05.2011 в 10:33)   письмо автору
 
   для: franko   (19.05.2011 в 19:30)
 

Обычно примерно так делается:

if (mysql_num_rows($result2) > 0)
{
    while($myrow2 = mysql_fetch_array($result2))
    {

          echo $myrow2[id_speciality];
    }
}

  Ответить  
 
 автор: franko   (20.05.2011 в 13:30)   письмо автору
 
   для: Lotanaen   (20.05.2011 в 10:33)
 

Привожу весь код.
в $total = $row[0]; // всего записей - заносится одна цифра и поэтому для всех ВУЗов: ($total) - печатается одна величина.
счетчик работает, но не корректно, он считает только первую строку WHERE id_speciality='$myrow2[id_speciality]'");
<?php
$result2 
mysql_query("SELECT * FROM specialities WHERE cat='$cat' ORDER by title"$db);
if (!
$result2)
{
echo 
"<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору tinisto@mail.ru <br> <strong>Код ошибки:</strong></p>";
exit (
mysql_error()); 
}
if (
mysql_num_rows($result2) > 0)
{
$myrow2 mysql_fetch_array($result2);
                       
              
$res mysql_query("SELECT COUNT(id_university) FROM universities_specialities 
              WHERE id_speciality='
$myrow2[id_speciality]'"); 
              
$row mysql_fetch_row($res); 
              
$total $row[0]; // всего записей 
$x 0;
$z 1;
do
{
$x++; 
if (
$x%2

printf ("<tr bgcolor='#F4F2F1'>
<td width='15px' align='center'>
$z.</td>
<td><p><a href='post_specialities.php?id_speciality=%s'>%s</a>&nbsp;&nbsp;(ОКСО: %s)<br>ВУЗов: (
$total) &nbsp;&nbsp;Квалификация: %s</p>
</td></tr>"

$myrow2["id_speciality"], $myrow2["title"], $myrow2["kod"], $myrow2["qualification"]);
$z $z 1;
}
else
{
printf ("<tr bgcolor='#ffffff'>
<td width='15px' align='center'>
$z.</td>
<td><p><a href='post_specialities.php?id_speciality=%s'>%s</a>&nbsp;&nbsp;(ОКСО: %s)<br>ВУЗов: (
$total) &nbsp;&nbsp; Квалификация: %s</p>
</td></tr>"
,$myrow2["id_speciality"], $myrow2["title"], $myrow2["kod"], $myrow2["qualification"]);
$z $z 1;
}
}
while (
$myrow2 mysql_fetch_array($result2));
}
else 
{
echo 
"<p>Информация по запросу не может быть извлечена - в таблице нет записей.</p>";
exit ();
}
?>

  Ответить  
 
 автор: Lotanaen   (20.05.2011 в 13:37)   письмо автору
 
   для: franko   (20.05.2011 в 13:30)
 

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

$result2 = mysql_query("SELECT * FROM specialities WHERE cat='$cat' ORDER by title", $db);
if (!$result2)
{
    echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору tinisto@mail.ru <br> <strong>Код ошибки:</strong></p>";
    exit (mysql_error()); 
}
if (mysql_num_rows($result2) > 0)
{
    
    $x = 0;
    $z = 1;
    while ($myrow2 = mysql_fetch_array($result2)){
                           
        $res = mysql_query("SELECT COUNT(id_university) FROM universities_specialities 
        WHERE id_speciality='$myrow2[id_speciality]'"); 
        $row = mysql_fetch_row($res); 
        $total = $row[0]; // всего записей 
        
        $x++; 
        if ($x%2) 
        { 
            printf ("<tr bgcolor='#F4F2F1'>
            <td width='15px' align='center'>$z.</td>
            <td><p><a href='post_specialities.php?id_speciality=%s'>%s</a>&nbsp;&nbsp;(ОКСО: %s)<br>ВУЗов: ($total) &nbsp;&nbsp;Квалификация: %s</p>
            </td></tr>", 
            $myrow2["id_speciality"], $myrow2["title"], $myrow2["kod"], $myrow2["qualification"]);
            $z = $z + 1;
        }
        else
        {
            printf ("<tr bgcolor='#ffffff'>
            <td width='15px' align='center'>$z.</td>
            <td><p><a href='post_specialities.php?id_speciality=%s'>%s</a>&nbsp;&nbsp;(ОКСО: %s)<br>ВУЗов: ($total) &nbsp;&nbsp; Квалификация: %s</p>
            </td></tr>",$myrow2["id_speciality"], $myrow2["title"], $myrow2["kod"], $myrow2["qualification"]);
            $z = $z + 1;
        }
    }
    
}
else 
{
    echo "<p>Информация по запросу не может быть извлечена - в таблице нет записей.</p>";
    exit ();
}

  Ответить  
 
 автор: franko   (20.05.2011 в 17:17)   письмо автору
 
   для: Lotanaen   (20.05.2011 в 13:37)
 

Спасибо. все работает!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования