|
|
|
| Вот дамп нужно зделать постраничный вывод.
см. вложение | |
|
|
|
|
|
|
|
для: sidPR
(29.08.2005 в 12:24)
| | постарничный вывыод
1 - выглядить должен так << < 1 2 3 > >>
2 - если база пуста вывода нету.
вывод я произвожу так >>
$select_sql = "SELECT * FROM '$table' ORDER BY 'id' DESC";
$result = MYSQL_QUERY($select_sql);
$number = MYSQL_NUMROWS($result);
$i = 0;
IF ($number == 0) {
PRINT "<CENTER><P>Автомобилей в наличии нет !времено</CENTER>";
} ELSEIF ($number > 0) {
PRINT "<CENTER><P>Автомобилей в наличии: $number<BR><BR>";
WHILE ($i < $number){
$id = mysql_result($result,$i,"id");
$auto = mysql_result($result,$i,"Auto");
$date = mysql_result($result,$i,"date");
$scrin = mysql_result($result,$i,"scrin");
$scrinsmall = mysql_result($result,$i,"scrinsmall");
$file = mysql_result($result,$i,"file");
$ops = mysql_result($result,$i,"ops");
$width = '800';
$height = '600';
?>
<script language='JavaScript1.1' type='text/javascript'>
<!--
function show_img(img,width,height)
{
var a;
var b;
var features;
vidWindowWidth=width + 1;
vidWindowHeight=height + 1;
a = 0;
b = 0;
features = "top=" + a + ",left=" + b + ",width=" + vidWindowWidth + ",height=" + vidWindowHeight + ", toolbar=0, menubar=0, status=0, location=0, directories=0, scrollbars=0, resizable=0, marginwidth=0, marginheight=0, bottommargin=0, topmargin=0, leftmargin=0, rightmargin=0";
window.open(img,'',features,true);
return false;
}
//-->
</script>
<?
print " <br>
<center>
<table border='0' cellpadding='0' cellspacing='0' style='border-collapse: collapse' bordercolor='#111111' width='400' height='1'>
<tr>
<td width='216' height='1' rowspan='4'><center><a title='Увеличить изображение 800x600' href=# OnClick=\"javascript:show_img('$scrin',$width, $height); return false;\">
<img border='0' src='$scrinsmall' align='left'></a></center>
</td>
<td width='498' height='1'>Марка: <b>$auto</b></td>
</tr>
<tr>
<td width='498' height='1'>Год выпуска: <b>$date</b></td>
</tr>
<tr>
<td width='162' height='1' valign='top'>
<p align='left'>Описание: <b>$ops</b></td>
</tr>
<tr>
<td width='494' height='34' valign='top'>
<b><p>Скачать: <a title='Закачать тачку' href='$file'>
<img border='0' src='img/dd.gif' align='center'></a></p></b></td>
</tr>
</table>
</center>";
|
| |
|
|
|
|
|
|
|
|
для: Евгений Петров
(29.08.2005 в 12:58)
| | караз таки по этому скрипту нечего невыходит в нем недоделок уйма ...
вот я на форуме задавал вопрос как модернизировать его но многоуважаемый cheops попросил переместиться сюда и зделать дамп базы данных обещяя помочь
Заранее всем спасибо | |
|
|
|
|
|
|
|
для: sidPR
(29.08.2005 в 13:01)
| | Давайте немного упростим скрипт и перейдём от mysql_result к более эффективному mysql_fetch_array
<?php
// Устанавливаем соединение с базой данных
include "config.php";
$table = 'gtat';
// Число блоков на странице
$pnumber = 2;
// Элемент постраничной навигации
$page = $_GET['page'];
if(empty($page)) $page = 1;
$begin = ($page - 1)*$pnumber;
// Формируем и выполняем SQL-запрос
$select_sql = "SELECT * FROM $table
ORDER BY id DESC
LIMIT $begin, $pnumber";
$result = MYSQL_QUERY($select_sql);
if(!$result) exit(mysql_error());
// Постраничная навигация
$query = "SELECT COUNT(*) FROM $table ";
$ctg = mysql_query($query);
if(!$ctg) puterror("Ошибка при обращении к таблице");
$total = mysql_result($ctg,0);
IF ($total == 0) {
PRINT "<CENTER><P>Автомобилей в наличии нет !времено</CENTER>";
}
ELSEIF ($total > 0)
{
PRINT "<CENTER><P>Автомобилей в наличии: $total<BR><BR>";
WHILE ($arr = mysql_fetch_array($result))
{
$id = $arr['id'];
$auto = $arr['auto'];
$date = $arr['date'];
$scrin = $arr['scrin'];
$scrinsmall = $arr['scrinsmall'];
$file = $arr['file'];
$ops = $arr['ops'];
echo $auto."<br>";
$i++;
}
}
$number = (int)($total/$pnumber);
if((float)($total/$pnumber) - $number != 0) $number++;
echo "Страницы: ";
for($i = 1; $i<=$number; $i++)
{
if($page == $i)
echo " $i ";
else
echo " <a title='Открыть страницу' class=menuinfo href=index.php?id_group=".$_GET['id_group']."&page=".$i.">$i</a> ";
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(29.08.2005 в 20:47)
| | Отличный код советую всем ! спасибо уважаемуму cheops'у !
вопрос а как к выше поставленому коду прекрутить <самая первая <<предпоследняя ну и также в другую сторону и чтобы все время выводилось не вся постраничная а только 5 чисел примеру :
< << 1 2 3 4 5 >> >
а при переключении к примеру на 5 (появлелось другая 5 только ужэ соответственно такого вида :
< << 6 7 8 9 10 >> >
______________________________________
и самое главно возможно ли зделать помимо постраничной навигации алфавитную ... а тоесть по первой букве какого либо слова таблице SQL в нашем случае $auto = $arr['auto'];
если это реально то покажите наглядно уж очень интересно как это делаеться*
-------- Заранее всем благадарен за помащь!!! | |
|
|
|
|
|
|
|
для: sidPR
(29.08.2005 в 22:20)
| | Тогда постраничную навигацию можно испрвить следующим образом
<?php
// Устанавливаем соединение с базой данных
include "config.php";
$table = 'gtat';
// Число блоков на странице
$pnumber = 2;
// Число страниц справа и слева от текущей страницы < << 2 3 [4] 5 6 >> >
$linknumber = 2;
// Элемент постраничной навигации
$page = $_GET['page'];
if($page < 1) $page = 1;
if(empty($page)) $page = 1;
$begin = ($page - 1)*$pnumber;
// Формируем и выполняем SQL-запрос
$select_sql = "SELECT * FROM $table
ORDER BY id DESC
LIMIT $begin, $pnumber";
$result = MYSQL_QUERY($select_sql);
if(!$result) exit(mysql_error());
// Постраничная навигация
$query = "SELECT COUNT(*) FROM $table ";
$ctg = mysql_query($query);
if(!$ctg) puterror("Ошибка при обращении к таблице");
$total = mysql_result($ctg,0);
IF ($total == 0) {
PRINT "<CENTER><P>Автомобилей в наличии нет !времено</CENTER>";
}
ELSEIF ($total > 0)
{
PRINT "<CENTER><P>Автомобилей в наличии: $total<BR><BR>";
WHILE ($arr = mysql_fetch_array($result))
{
$id = $arr['id'];
$auto = $arr['auto'];
$date = $arr['date'];
$scrin = $arr['scrin'];
$scrinsmall = $arr['scrinsmall'];
$file = $arr['file'];
$ops = $arr['ops'];
echo $auto."<br>";
$i++;
}
}
$number = (int)($total/$pnumber);
if((float)($total/$pnumber) - $number != 0) $number++;
// Вычисляем начальную позицию
if($page - $linknumber < 1) $str_begin = 1;
else $str_begin = $page - $linknumber;
// Вычисляем конечную позицию
if($page + $linknumber > $number) $str_end = $number;
else $str_end = $page + $linknumber;
// Выводим ссылки на другие страницы
echo "Страницы: ";
echo " <a title='Первая страница' class=menuinfo href=index.php?page=1><<</a> ";
if($page > 1) echo " <a title='Первая страница' class=menuinfo href=index.php?page=".($page - 1)."><</a> ";
for($i = $str_begin; $i<=$str_end; $i++)
{
if($page == $i)
echo " $i ";
else
echo " <a title='Открыть страницу' class=menuinfo href=index.php?page=".$i.">$i</a> ";
}
if($page < $number) echo " <a title='Первая страница' class=menuinfo href=index.php?page=".($page + 1).">></a> ";
echo " <a title='Первая страница' class=menuinfo href=index.php?page=$number>>></a> ";
?>
|
| |
|
|
|
|
|
|
|
для: sidPR
(29.08.2005 в 22:20)
| | >и самое главно возможно ли зделать помимо постраничной
>навигации алфавитную ... а тоесть по первой букве какого
>либо слова таблице SQL в нашем случае $auto = $arr['auto'];
Вообще формирование ссылок осуществляют при помощи следующиго запроса
SELECT MID(auto,1,1) AS first_char FROM gtat
GROUP BY first_char ORDER BY first_char
|
Правда в вашем случае не совсем удобно получится - так как у вас некоторые автомобили начинаются с года и вместо названия идёт первая цифра года. Затем когда список букв получен переходя по ссылке извлекают все автомобили, чьё название начинается с выбранной буквы
SELECT * FROM gtat WHERE MID(auto,1,1) = 'K'
|
PS Под новые вопросы лучше заводить новую тему - иначе потом очень трудно ссылаться. | |
|
|
|