|
|
|
| Есть рабочая БД, но как сделать Постраничный вывод. и сортировка вместе с поиском (объяснить понятно для простого пользавателя)
<?
$hostname = "baze.an-triumf.ru:64000";
$username = "??????";
$password = "??????";
$dbName = "triumf";
$userstable = "a_vtorkvr";
mysql_connect($hostname,$username,$password) or die ("Не могу создать соединение");
mysql_select_db("$dbName") or die ("Немогу выбрать базу данных");
$result = mysql_query("select * from $userstable order by name asc");
$number = mysql_numrows($result);
echo "<p>Всего объектов: $number </p><br>";
$i=0;
IF ($number == 0) {print "net";}
ELSEIF ($number > 0) {while ($i < $number){$name = mysql_result($result,$i,"name");
$rastoynie = mysql_result($result,$i,"rastoynie");
$status = mysql_result($result,$i,"status");
$mfot = mysql_result($result,$i,"mfot");
$dom = mysql_result($result,$i,"dom");
$btsp = mysql_result($result,$i,"btsp");
$adres = mysql_result($result,$i,"adres");
$dolznost = mysql_result($result,$i,"dolznost");
$text = mysql_result($result,$i,"text");
$cena = mysql_result($result,$i,"cena");
$foto = mysql_result($result,$i,"foto");
echo "
<table cellpadding=0 cellspacing=0 align=center width=420 height=5>
<tr>
<td colspan=10 height=1 bgcolor=#F67F17></td></tr>
<tr>
<td rowspan=1 width=10><img src=$mfot width=50 height=20></td>
<td> <img src=/images/metro.gif width=22 height=17></td>
<td><B><p class=domadown>$name</p></B></td>
<td><p class=domamain>$rastoynie</p></td>
<td><p class=domamain>$status</p></td>
<td><p class=domadown>$cena</p></td>
</tr>
</table>
<table cellpadding=0 cellspacing=0 align=center width=430 height=50>
<tr>
<td colspan=5 height=0 bgcolor=#0B3F72></td></tr>
<tr>
<td width=0 bgcolor=#ffffff></td>
<td rowspan=5 width=60><img src=$foto width=80 height=80></td>
<td width=0 bgcolor=#ffffff></td>
<td>
<table cellpadding=0 cellspacing=0 align=center width=330 bgcolor=#094073 height=50>
<tr>
<td><p class=domadown>$adres</p>
<td><p class=domamain>$dom</p><td><p class=domamain>$dolznost</p><td><p class=domamain>$btsp</p>
<tr>
<td colspan=4><p class=domamain>$text</p></tr>
<tr>
<td></td>
<td><p class=domadown></p></td></tr>
</table>
</td>
<td width=1 bgcolor=#ffffff></td></tr>
<tr>
<td colspan=5 height=1 bgcolor=#ffffff></td></tr>
</table><br>";
$i++;}
} | |
|
|
| |
|
|
|
|
для: cheops
(12.08.2006 в 02:53)
| | ЭЭЭ...... :(
А более детальней носом тыкнуть меня ?
Я простой пользователь и мне немного тяжедовато разбираться в терминах.
заранее спасибо | |
|
|
|
|
|
|
|
для: krok-m
(13.08.2006 в 15:40)
| | Тогда давайте дамп таблицы a_vtorkvr (полностью не нужно, главное, чтобы там было несколько записей), чтобы можно было воспроизвести ситуацию на локальной машине. | |
|
|
|
|
|
|
|
для: cheops
(13.08.2006 в 16:33)
| | Спасибо Вам, что уделили моему вопросу время.
Вот так у меня выглядит шапка HTML файла.
Существует несколько проблем :(
1. БД не передает информацию на сайт (хотя вроде бы все работает)
2. И самое главное как сделать, чтобы количество выводимых Базой Данных позиций было ограниченным на странице.
3. И тут возникает проблема создания необходимых страниц.
Заранее огромное спасибо.
......................................................
$result = mysql_query("select * from $userstable order by name asc");
$number = mysql_numrows($result);
echo "<p>Все предложения: $number </p><br>";
$i=0;
IF ($number == 0) {print "net";}
ELSEIF ($number > 0) {while ($i < $number){$Id = mysql_result($result,$i,"Id");
$komnat = mysql_result($result,$i,"komnat");
$gorod = mysql_result($result,$i,"gorod");
$prodavec = mysql_result($result,$i,"prodavec");
$metro = mysql_result($result,$i,"metro");
$rastoynie = mysql_result($result,$i,"rastoynie");
$adres = mysql_result($result,$i,"adres");
$dom = mysql_result($result,$i,"dom");
$ploshd = mysql_result($result,$i,"ploshd");
$balkon = mysql_result($result,$i,"balkon");
$tel = mysql_result($result,$i,"tel");
$sanuzel = mysql_result($result,$i,"sanuzel");
$pol = mysql_result($result,$i,"pol");
$cenametr = mysql_result($result,$i,"cenametr");
$cena = mysql_result($result,$i,"cena");
$status = mysql_result($result,$i,"status");
$text = mysql_result($result,$i,"text");
echo"
.................................................................... | |
|
|
|
|
|
|
|
для: krok-m
(13.08.2006 в 23:45)
| | Приведите пожалуйста дамп таблицы $userstable - дело в том, что не хочется писать её в слепую, допустить ошибку в этом случае очень просто, лучше воспроизвести ситуацию на локальной машине, чтобы вы потом могли взять скрипт и отталкиваться от рабочей версии. | |
|
|
|
|
|
|
|
для: cheops
(14.08.2006 в 00:50)
| | Я правильно все сделал, или это опять не то ?
--
-- Дамп данных таблицы 'a_vtorkvr1'
--
INSERT INTO 'a_vtorkvr1' VALUES ('002', 'Одна', 'Москва', '775-27-27', 'Перово', '10 мин.пеш', 'Перовская ул., 46.кор 1', '3/5 К', '77/20,1/?', 'нет', 'есть', 'раздел', '?', '$ 584', '$ 45 000', 'Свободная продажа', 'Комнаты: 1/3, окна во двор, хорошее состояние');
INSERT INTO 'a_vtorkvr1' VALUES ('001', 'Одна', 'Москва', '775-27-27', 'Щелковская', '10 мин/тр', 'Алтайская ул., 11', '7/9 П', '37/21,5/6,4', 'балкон', 'есть', 'разд', 'паркет', '$ 3 648', '$ 135 000', 'альтернатива', 'Рядом парк, легкая альтернатива, окна во двор, хорошее состояние, мусоропровод, лифт'); | |
|
|
|
|
|
|
|
для: krok-m
(14.08.2006 в 01:23)
| | Если не сложно выполните ещё оператор
SHOW CREATE TABLE a_vtorkvr1
|
| |
|
|
|
|
|
|
|
для: cheops
(14.08.2006 в 01:27)
| | Как это сделать ? чуть подробней намекните. плиз | |
|
|
|
|
|
|
|
для: cheops
(14.08.2006 в 00:50)
| | уложи дамп и структуру БД в теги код /код, а то из-за одиночных кавычек читить неудобно | |
|
|
|
|
|
|
|
для: Lelik
(14.08.2006 в 01:25)
| | сортировка данных производится таким запросом
<?php
$query = "SELECT * FROM table ORDER BY имя_поля_по_которому_сортируем_данные";
// для обратной сортировки
$query = "SELECT * FROM table ORDER BY имя_поля_по_которому_сортируем_данные DESC";
?>
|
для вывода данных из бд используем делаем так
<?php
$txt = mysql_query($query);
while($text = mysql_fetch_array($txt))
{
echo $txt['name'];//И т.д.
}
?>
|
| |
|
|
|
|
|
|
|
для: Lelik
(14.08.2006 в 01:25)
| | Так правильно?!!
<!-- таблица a_vtorkvr1 -->
<a_vtorkvr1>
<Id>002</Id>
<komnat>Одна</komnat>
<gorod>Москва</gorod>
<prodave>775-27-27</prodave>
<merto>Перово</merto>
<rastoynie>10 мин.пеш</rastoynie>
<adres>Перовская ул., 46.кор 1</adres>
<dom>3/5 К</dom>
<ploshd>77/20,1/?</ploshd>
<balkon>нет</balkon>
<tel>есть</tel>
<sanuzel>раздел</sanuzel>
<pol>?</pol>
<cenametr>$ 584</cenametr>
<cena>$ 45 000</cena>
<status>Свободная продажа</status>
<text>Комнаты: 1/3, окна во двор, хорошее состояние</text>
</a_vtorkvr1>
<a_vtorkvr1>
<Id>001</Id>
<komnat>Одна</komnat>
<gorod>Москва</gorod>
<prodave>775-27-27</prodave>
<merto>Щелковская</merto>
<rastoynie>10 мин/тр</rastoynie>
<adres>Алтайская ул., 11</adres>
<dom>7/9 П</dom>
<ploshd>37/21,5/6,4</ploshd>
<balkon>балкон</balkon>
<tel>есть</tel>
<sanuzel>разд</sanuzel>
<pol>паркет</pol>
<cenametr>$ 3 648</cenametr>
<cena>$ 135 000</cena>
<status>альтернатива</status>
<text>Рядом парк, легкая альтернатива, окна во двор, хорошее состояние, мусоропровод, лифт</text>
</a_vtorkvr1> | |
|
|
|
|
|
|
|
для: krok-m
(14.08.2006 в 01:34)
| | как ты ее создавал? дай этот запрос
| |
|
|
|
|
|
|
|
для: Lelik
(14.08.2006 в 01:35)
| | Я ее не создавал, доделываю за другими, я не программер и в этом вся проблема. Но самое главное есть желание научиться. В книгах нифига не понимаю. :(
Сейчас попробую разобраться в Ваших советах. Я не тормоз :), я просто медленно соображаю. | |
|
|
|
|
|
|
|
для: krok-m
(14.08.2006 в 01:54)
| | тогда через phpmyadmin зайди в структуру БД и скинь ее сюда в виде
Table NAME
имя поля 1
имя поля2
...
|
| |
|
|
|
|
|
|
|
для: Lelik
(14.08.2006 в 02:03)
| | Это то самое?
-- Структура таблицы 'a_vtorkvr1'
--
CREATE TABLE 'a_vtorkvr1' (
'Id' varchar(30) NOT NULL default '',
'komnat' varchar(10) NOT NULL default '',
'gorod' varchar(20) NOT NULL default '',
'prodave' varchar(50) NOT NULL default '',
'merto' varchar(50) NOT NULL default '',
'rastoynie' varchar(10) NOT NULL default '',
'adres' varchar(50) NOT NULL default '',
'dom' varchar(10) NOT NULL default '',
'ploshd' varchar(30) NOT NULL default '',
'balkon' varchar(10) NOT NULL default '',
'tel' varchar(20) NOT NULL default '',
'sanuzel' varchar(20) NOT NULL default '',
'pol' varchar(20) NOT NULL default '',
'cenametr' varchar(20) NOT NULL default '',
'cena' varchar(20) NOT NULL default '',
'status' varchar(20) NOT NULL default '',
'text' text NOT NULL,
UNIQUE KEY 'merto' ('merto'),
KEY 'Id' ('Id')
) TYPE=MyISAM; | |
|
|
|
|
|
|
|
для: krok-m
(14.08.2006 в 02:11)
| | ага, ща чего-нибудь придумаем | |
|
|
|
|
|
|
|
для: krok-m
(14.08.2006 в 02:11)
| | скрипт будет выглядеть примерно так
<?php
// Подсчитуем общее количество данных в БД
$quer = "SELECT count(*) FROM a_vtorkvr1";
$res = mysql_query($quer);
$total = mysql_fetch_array($res);
$count = $total['count(*)'];
// Устанавливаем количество сообщений, которое будем выводить
// и количество страниц которое получится в итоге
$end = 30;
if($_GET['start'] == "") $_GET['start'] = 0;
if($_GET['start'] < 0 ) $_GET['start'] = 0;
$start = $_GET['start'];
if($_GET['page'] == "") $_GET['page'] = 1;
$page = $_GET['page'];
$dln = $count / $end;
$col = (int)$dln + 1;
// Выводим данные из бд
$query = "SELECT * FROM a_vtorkvr1 ORDER BY komnat LIMIT ".$start.", ".$end;
$result = mysql_query($query);
if(!$result) echo "Error - ".mysql_error();
while($num = mysql_fetch_array($result))
{
$i++;
if($num['gorod'] == "") $txt = "";
else
$txt = " - ".$num['komnat'];
echo "<b>".$i."</b> ".$num['gorod'].$txt."<br>";
}
echo '<br>$count ='.$count;
echo '<br>'.$col.'<br>';
// Делаем навигацию
for ($i = 0; $i < $col; $i++)
{
if($page == ($i+1))
{
$href = $page;
}
else
$href = "<A href=\"index.php?start=".($end * $i)."&page=".($i+1)."\">".($i+1)."</A>";
echo $href." ";
}
?>
|
| |
|
|
|
|
|
|
|
для: Lelik
(14.08.2006 в 02:16)
| | Это нужно просто скопировать вместо того, Что у мя было? Заменить весь файл HTML? | |
|
|
|
|
|
|
|
для: krok-m
(14.08.2006 в 02:28)
| | надо оставить часть кода для подключения к базе данных.
и в цикле while немного поменять код вывода, а точнее, то что выводить - под свой сайт.
если я правильно понял, то это скрипт, который выводит результаты поиска? если это так то скажи об этом, надо поменять, точнее добавить, несколько строк кода | |
|
|
|
|
|
|
|
для: Lelik
(14.08.2006 в 02:35)
| | Я, наверное, полный тормоз, но перепробовал все варианты и нечего.....
Вот полный код моей страницы, куда что ставить?
------------------------------------------------------------------------------------------------------------
<?
$hostname = "baze.an-triumf.ru:64000";
$username = "*********";
$password = "*********";
$dbName = "triumf";
$userstable = "a_vtorkvr1";
mysql_connect($hostname,$username,$password) or die ("kkkkkkkkkkkkkkkkkkk");
mysql_select_db("$dbName") or die ("kkkkkkkkkkkkk");
$result = mysql_query("select * from $userstable order by name asc");
$number = mysql_numrows($result);
echo "<p>всего представлено вариантов: $number </p><br>";
$i=0;
IF ($number == 0) {print "net";}
ELSEIF ($number > 0) {while ($i < $number){$Id = mysql_result($result,$i,"Id");
$komnat = mysql_result($result,$i,"komnat");
$gorod = mysql_result($result,$i,"gorod");
$prodavec = mysql_result($result,$i,"prodavec");
$metro = mysql_result($result,$i,"metro");
$rastoynie = mysql_result($result,$i,"rastoynie");
$adres = mysql_result($result,$i,"adres");
$dom = mysql_result($result,$i,"dom");
$ploshd = mysql_result($result,$i,"ploshd");
$balkon = mysql_result($result,$i,"balkon");
$tel = mysql_result($result,$i,"tel");
$sanuzel = mysql_result($result,$i,"sanuzel");
$pol = mysql_result($result,$i,"pol");
$cenametr = mysql_result($result,$i,"cenametr");
$cena = mysql_result($result,$i,"cena");
$status = mysql_result($result,$i,"status");
$text = mysql_result($result,$i,"text");
echo"
<table width=440 height=5>
<tr>
<td><p class=domamain><font color=#FFCC00>
лот $Id <span style=background-color=#000066><font color=#FFCC00>
$komnat комнатная квартира </font><font color=#3399FF>
Город:</font> $gorod <font color=#3399FF>
Продавец:</font> $prodavec<font color=#3399FF>
<p class=domamain><font color=#3399FF>
Метро:</font> $metro <font color=#3399FF>
Время:</font> $rastoynie <font color=#3399FF>
Адрес:</font> $adres
<p class=domamain><font color=#3399FF>
Э/эт:</font> $dom <font color=#3399FF>
Пл:</font> $ploshd <font color=#3399FF>
Бал:</font> $balkon <font color=#3399FF>
Тел:</font> $tel <font color=#3399FF>
С/уз:</font> $sanuzel <font color=#3399FF>
Пол:</font> $pol
<p class=domamain><font color=#3399FF>
Цена за м.кв:</font> $cenametr <font color=#3399FF>
Цена:</font> $cena <font color=#3399FF>
Статус:</font> $status
<p class=domamain><font color=#3399FF>
Дополнительно:</font> $text<font color=#3399FF>
</p></td>
</tr>
</table>";
$i++;}
} | |
|
|
|
|
|
|
|
для: krok-m
(14.08.2006 в 03:01)
| |
<?php
$hostname = "baze.an-triumf.ru:64000";
$username = "*********";
$password = "*********";
$dbName = "triumf";
$userstable = "a_vtorkvr1";
mysql_connect($hostname,$username,$password) or die ("kkkkkkkkkkkkkkkkkkk");
mysql_select_db("$dbName") or die ("kkkkkkkkkkkkk");
// Подсчитуем общее количество данных в БД
$quer = "SELECT count(*) FROM a_vtorkvr1";
$res = mysql_query($quer);
$total = mysql_fetch_array($res);
$count = $total['count(*)'];
echo "<p>всего представлено вариантов: $count </p><br>";
// Устанавливаем количество сообщений, которое будем выводить
// и количество страниц которое получится в итоге
$end = 30;
if($_GET['start'] == "") $_GET['start'] = 0;
if($_GET['start'] < 0 ) $_GET['start'] = 0;
$start = $_GET['start'];
if($_GET['page'] == "") $_GET['page'] = 1;
$page = $_GET['page'];
$dln = $count / $end;
$col = (int)$dln + 1;
// Выводим данные из бд
$query = "SELECT * FROM a_vtorkvr1 ORDER BY komnat LIMIT ".$start.", ".$end;
$result = mysql_query($query);
if(!$result) echo "Error - ".mysql_error();
while($num = mysql_fetch_array($result))
{
$i = 0;
$i++;
// Вот здесь выставляем выводимые данные
// например - этот код выводит по очереди города записанные в БД
// с их нумерацией от 1 и до последнего
echo "<b>".$i."</b> ".$num['gorod'].$txt."<br>";
}
echo '<br>$count ='.$count;
echo '<br>'.$col.'<br>';
// Делаем навигацию
for ($i = 0; $i < $col; $i++)
{
if($page == ($i+1))
{
$href = $page;
}
else
$href = "<A href=\"index.php?start=".($end * $i)."&page=".($i+1)."\">".($i+1)."</A>";
echo $href." ";
}
?>
|
| |
|
|
|
|
|
|
|
для: Lelik
(14.08.2006 в 03:58)
| | Большое Вам спасибо !!!
Очень помогли. Все работает и даже очень хорошо.
:) | |
|
|
|
|
|
|
|
для: krok-m
(13.08.2006 в 23:45)
| | для ограничения вывода используй такой запрос
mysql_query("select * from $userstable order by name LIMIT 0, 30");
|
| |
|
|
|
|