PHP: <? $result = mysql_query ("SELECT * FROM bd WHERE kat='$kat' AND kod=1 ORDER BY data DESC LIMIT $start, $num",$db); switch ($result) { case '1': { if (mysql_num_rows($result)>0) { while ($myrow = mysql_fetch_array ($result)) { $q = "SELECT COUNT(*) FROM `comments` WHERE id_video=".$myrow['id']; $totalcom = mysql_query($q); $f_com = mysql_result($totalcom, 0); $total_com_rows = $f_com[0]; ?> <table width='100%' border='0' cellpadding='0' cellspacing='0' class='tabl_zag'> <tr> <td .........................</table> <? } } else { echo "В базе нет данных"; } break; } } ?> При выполнении этого кода не при первом условии не при else ничего не выводит
greenzlat $result вернёт ссылку на строку в таблице $row=mysql_fetch_array($result); // приводим к массиву $kat=$row['kat']; // так вытаскиваем переменную из массива вот и делай кейс по переменной, результ всегда ссылку возвращает или false
Это то я понимаю. Но вот я же и привожу к массиву в 11 строке. while ($myrow = mysql_fetch_array ($result))
И что у тебя означают строки с 4 по 6? ты проверяшеь в switch равен ли $result единице. Я тебе сейчас могу сказать - не равен. Никогда не равен. Значит во все остальные строки скрипт просто не попадает
очень помогает написать по-русски, что делает код. например, $result = mysql_query - в этой строке вызывается функция, которая возвращает то или то (смотрите в руководство). результат выполнения заносится в $result. потом я сравниваю полученное значение с ... и так далее. так быстрее найдете ошибку)