Дальше индекса не смотрел
1) Названия некоторых полей в таблице, самой таблицы, переменных...
2) SQL запросы, то в верхнем регистре, то в нижнем, то с конкатенацией переменных, то без. ЗАчем конкатенация переменных в двойных кавычках?
3) Для категорий и файлов должны быть разные таблицы в БД, у тебя общая.
4) Отрубать руки за
Код (+/-)
if ($id) {
$dnam = mysql_query("select `id`, `refid`, `text` from `film` where type = 'cat' and id = '" . $id . "'");
$dnam1 = mysql_fetch_array($dnam);
$dnam2 = mysql_query("select `id`, `refid`, `text` from `film` where type = 'cat' and id = '" . $dnam1['refid'] . "'");
$dnam3 = mysql_fetch_array($dnam2);
$catname = "$dnam3[text]";
$dirid = "$dnam1[id]";
$nadir = $dnam1['refid'];
while ($nadir != "0") {
echo "»<a href='index.php?id=" . $nadir . "'>$catname</a><br/>";
$dnamm = mysql_query("select `id`, `refid`, `text` from `film` where type = 'cat' and id = '" . $nadir . "'");
$dnamm1 = mysql_fetch_array($dnamm);
$dnamm2 = mysql_query("select `id`, `refid`, `text` from `film` where type = 'cat' and id = '" . $dnamm1['refid'] . "'");
$dnamm3 = mysql_fetch_array($dnamm2);
$nadir = $dnamm1['refid'];
$catname = $dnamm3['text'];
}
echo "<a href='index.php?'>На главную раздела</a><br/>";
}
а также за
if (($rights == 5 || $rights >= 6) && $id != 0) {
$ct = mysql_query("select `id` from `film` where type='cat' and refid='" . $id . "'");
$ct1 = mysql_num_rows($ct);
if ($ct1 == 0) {
echo '<a href="index.php?act=del&id=' . $id . '">Удалить категорию</a><br/>';
}
echo '<a href="index.php?act=edit&id=' . $id . '">Изменить категорию</a><br/>';
}
if (($rights == 5 || $rights >= 6) && (isset($zag['ip']) && $zag['ip'] == 1 || $id == 0)) {
echo '<a href="index.php?act=mkcat&id=' . $id . '">Создать категорию</a><br/>';
}
if (isset($zag['ip']) && $zag['ip'] == 0 && $id != 0) {
if (($rights == 5 || $rights >= 6) || ($zag['soft'] == 1 && !empty($_SESSION['uid']))) {
echo "<a href='index.php?act=write&id=" . $id . "'>Добавить фильм</a><br/>";
}
}
ну и за
Код (+/-)
case 'cat':
$req = mysql_query("SELECT COUNT(*) FROM `film` WHERE `type` = 'cat' AND `refid` = '$id'");
$totalcat = mysql_result($req, 0);
$bkz = mysql_query("SELECT COUNT(*) FROM `film` WHERE `type` = 'bk' AND `refid` = '$id' AND `moder`='1'");
$totalbk = mysql_result($bkz, 0);
if ($totalcat > 0) {
$total = $totalcat;
if ($total > $kmess) echo '<div class="topmenu">' . functions::display_pagination('index.php?id=' . $id . '&', $start, $total, $kmess) . '</div>';
$req = mysql_query("SELECT `id`, `text` FROM `film` WHERE `type` = 'cat' AND `refid` = '$id' LIMIT " . $start . "," . $kmess);
$i = 0;
while ($cat1 = mysql_fetch_array($req)) {
$cat2 = mysql_query("select `id` from `film` where type = 'cat' and refid = '" . $cat1['id'] . "'");
$totalcat2 = mysql_num_rows($cat2);
$bk2 = mysql_query("select `id` from `film` where type = 'bk' and refid = '" . $cat1['id'] . "' and moder='1'");
$totalbk2 = mysql_num_rows($bk2);
if ($totalcat2 != 0) {
$kol = "$totalcat2 кат.";
} elseif ($totalbk2 != 0) {
$kol = "$totalbk2 фильм.";
} else {
$kol = "0";
}
echo $i % 2 ? '<div class="list2">' : '<div class="list1">';
echo '<a href="index.php?id=' . $cat1['id'] . '">' . $cat1['text'] . '</a>(' . $kol . ')</div>';
++$i;
}
echo '<div class="phdr">Всего: ' . $totalcat . '</div>';
} elseif ($totalbk > 0) {
$total = $totalbk;
if ($total > $kmess) echo '<div class="topmenu">' . functions::display_pagination('index.php?id=' . $id . '&', $start, $total, $kmess) . '</div>';
$bk = mysql_query("select * from `film` where type = 'bk' and refid = '" . $id . "' and moder='1' order by `time` desc LIMIT " . $start . "," . $kmess);
$i = 0;
while ($bk1 = mysql_fetch_array($bk)) {
echo $i % 2 ? '<div class="list2">' : '<div class="list1">';
echo '<b><a href="index.php?id=' . $bk1['id'] . '">' . htmlentities($bk1['name'], ENT_QUOTES, 'UTF-8') . '</a></b><br/>';
echo htmlentities($bk1['announce'], ENT_QUOTES, 'UTF-8');
echo '<div class="sub"><span class="gray">Добавилено: (' . functions::display_date($bk1['time']) . ')<br />';
++$i;
}
echo '</div></div><div class="phdr">Всего: ' . $totalbk . '</div>';
} else {
$total = 0;
}
5) тег <font> устарелый, нужно использовать <span>
6) <br /> используется только для переноса строк, ни для чего более, у тебя же он используется для табов...
7) все свойства фильма, которые не учавствуют в запросах нужно хранить в одном поле сериалезированным массивом, а не в куче ненужных полей
8) Названия полей, параметров, переменных, актов, файлов должны быть полными и со смысловой нагрузкой, если это акт добавления коментов, то addComment а не addkomm, если это добавление категории/файла то addCategory, addFile соответственно, а не addcat и write (добавляем кота и пишем, да?)
ну и полно мелких моментов, таких как в одном файле разный стиль, то двойные то одинарные кавычки для строк (SQL запросы не в счет).