|
|
|
| Вот код:
<?
$cat_id = clear($_REQUEST['cat_id']);
// Ну тут мы получили название категории что бы вывести ее в speedbar'e
$sql = "SELECT `cat_name` FROM `books_cats` WHERE `cat_id` = '$cat_id'";
$result = mysql_query($sql);
$data = mysql_fetch_array($result);
$links = "<a href=\"index.php\">Главная</a> / <a href=\"index.php?do=by_cat\">Категории</a> / ".$data['cat_name'];
// Начинаем выборку книг, принадлежащих категории с ключем $cat_id
$sql2 = "SELECT * FROM `books_books` ORDER BY `b_name`";
$result2 = mysql_query($sql2);
if (mysql_num_rows($result2) == 0) {
$top .= "В базе нет книг";
} else {
$books = "";
$top .= "<table width=\"100%\" border=\"0\">
<tr>
<td><b>Название книги</b></td>
<td><b>Автор</b></td>
<td><b>Просмотров</b></td>
</tr>
";
$boocks = array();
$i = 0;
while ($data2 = mysql_fetch_array($result2)) {
$cat_list = $data2['b_cats']; // Получили список категорий к которым пренадлежит книга.
// Они идут таким образом: 1,2,5,9 и т.д.
$cat_list = explode(",",$cat_list); // Получаем каждый лемент между знаками ,
foreach ($cat_list as $element) { // Присвоили значение каждого элемента переменной $element
if ($cat_id == $element) { // Если элемент списка категорий равен выбранной категории, т.е. $cat_id то мы его выводим, если нет то подавляем его вывод
$i++;
$sql3 = "SELECT `a_name` FROM `books_autors` WHERE `a_id` = '".$data2['b_aid']."'"; // Получаем имя автора написавшего нашу книгу
$result3 = mysql_query($sql3);
$data3 = mysql_fetch_array($result3);
$boocks[$i]["autor"] = "<a href=\"index.php?do=show_autor&autor_id=".$data2['b_aid']."\">".$data3['a_name']."</a>"; // Автор
$boocks[$i]["name"] = "<a href=\"index.php?do=show_boock&boock_id=".$data2['b_id']."\">".$data2['b_name']."</a>"; // Название книги
$boocks[$i]["views"] = $data2['b_views']; // Просмотром
}
}
}
print_r ($boocks);
// Выводим все из массива...
$page = intval($_REQUEST['page']);
if (empty($page)) {
$page = "1";
}
$records_on_page = 10; //Количество записей на странице
$total_count = ceil(count($boocks) / $records_on_page); //Общее количество стараниц
$start_index = count($boocks) - ($page - 1)*$records_on_page;
$end_index = $start_index - $records_on_page;
for($i = $start_index; $i > $end_index; $i--) {
$autor = $boocks[$i]["autor"];
$name = $i." - ".$boocks[$i]["name"];
$views = $boocks[$i]["views"];
$parse->get_tpl('templates/show_cat.tpl'); // Выбрали шаблон
// Назначили переменные
$parse->set_tpl('{name}',$name);
$parse->set_tpl('{autor}',$autor);
$parse->set_tpl('{views}',$views);
$parse->tpl_parse();// спарсили
$top .= $parse->template; // записали в переменную
}
$top .= "</table>";
$top .= make_navi($total_count, $cat_id, $page);
}
?>
|
У меня почему то при выводе массива на первой странице появляется элемент под номером 29...хотя выбокрка начинается с 0 элемента и должна закончиться на 28...а заканчивается почему то на 29 :( Помогите решить проблему, или покажите другой способ вывода из массива :) | |
|
|
|
|
|
|
|
для: CassIO
(15.04.2008 в 05:50)
| | Проблема скорее всего в цикле значение $start_index нужно уменьшить на 1, и индексация пойдет нормально
for($i = $start_index-1; $i > $end_index; $i--)
|
| |
|
|
|