Вот она 56 строчка: var $lnk = mysql_connect("localhost", "мой_логин", "мой_пароль"); // MySql link
Какая тут ошибка?
Спустя 7 минут, 27 секунд (9.07.2006 - 01:18) NoName написал(а):
QUOTE(agent007)
Parse error: syntax error, unexpected '(', expecting ',' or ';' in /home/...../table.php on line 56
Вот она 56 строчка: var $lnk = mysql_connect("localhost", "мой_логин", "мой_пароль"); // MySql link
Какая тут ошибка?
Вот она 56 строчка: var $lnk = mysql_connect("localhost", "мой_логин", "мой_пароль"); // MySql link
Какая тут ошибка?
А можно увидеть строку 55 и 57 ?
Спустя 2 минуты, 53 секунды (9.07.2006 - 01:21) agent007 написал(а):
Вот
class page{
var $lnk = mysql_connect("localhost", "мой_логин", "мой_пароль"); // MySql link
var $page = 1;
class page{
var $lnk = mysql_connect("localhost", "мой_логин", "мой_пароль"); // MySql link
var $page = 1;
Спустя 42 минуты, 23 секунды (9.07.2006 - 02:04) NoName написал(а):
QUOTE(agent007)
Вот
class page{
var $lnk = mysql_connect("localhost", "мой_логин", "мой_пароль"); // MySql link
var $page = 1;
class page{
var $lnk = mysql_connect("localhost", "мой_логин", "мой_пароль"); // MySql link
var $page = 1;
Так наверное будет правильней:
// Создаем объект класса имя pages
class pages {
// объявляем данные
var $lnk;
var $page;
}
// Создаем объект класса pages
$cl_pages= new pages;
// присваиваем значения членам класса:
$cl_pages->page=1;
$cl_pages->lnk= mysql_connect("localhost", "autostat_alex", "475098707");
Пробуй.
Спустя 1 час, 6 минут, 24 секунды (9.07.2006 - 03:10) agent007 написал(а):
Так тоже выдает ошибку
Parse error: syntax error, unexpected T_VAR in /home/......./table.php on line 67
Это 67,68 строчки (предыдущие выше приведены):
var $table = 'spisok'; // имя таблицы в вашей бд
var $select = '*'; // столбцы через запятую или * если все
Parse error: syntax error, unexpected T_VAR in /home/......./table.php on line 67
Это 67,68 строчки (предыдущие выше приведены):
var $table = 'spisok'; // имя таблицы в вашей бд
var $select = '*'; // столбцы через запятую или * если все
Спустя 22 минуты, 32 секунды (9.07.2006 - 03:33) NoName написал(а):
QUOTE(agent007)
Так тоже выдает ошибку
Parse error: syntax error, unexpected T_VAR in /home/......./table.php on line 67
Это 67,68 строчки (предыдущие выше приведены):
var $table = 'spisok'; // имя таблицы в вашей бд
var $select = '*'; // столбцы через запятую или * если все
Parse error: syntax error, unexpected T_VAR in /home/......./table.php on line 67
Это 67,68 строчки (предыдущие выше приведены):
var $table = 'spisok'; // имя таблицы в вашей бд
var $select = '*'; // столбцы через запятую или * если все
// Создаем объект класса имя pages
class pages {
// объявляем данные
var $lnk;
var $page;
var $table;
var $select;
}
// Создаем объект класса pages
$cl_pages= new pages;
// присваиваем значения членам класса:
$cl_pages->page=1;
$cl_pages->lnk= mysql_connect("localhost", "autostat_alex", "475098707");
$cl_pages->table = 'spisok'; // имя таблицы в вашей бд
$cl_pages->select = '*'; // столбцы через запятую или * если все
Почитай http://php.mysoft.ge/manual/ru/language.oo...5.constants.php
Спустя 16 часов, 12 минут (9.07.2006 - 19:45) agent007 написал(а):
Если честно, с РНР у меня не очень:(<br>Приведу я лучше полностью код. То, что смог, исправил. Дальше не знаю как.<br>
Если делаю так, то выдает ошибку, что скобочка } лишняя перед
// Устанавливаем соединение с базой данных
$link = mysql_connect('localhost', 'мой_логин', 'мой_пароль'); // где host, login и pass - ваш хост, логин и пароль для подключения
А если удаляю скобочку, то выдает
Fatal error: Cannot instantiate non-existent class: page in /home/....../table.php on line 209
Вот 207,208,209,210
$link = mysql_connect('localhost', 'мой_логин', 'мой_пароль'); // где host, login и pass - ваш хост, логин и пароль для подключения
mysql_select_db('autostat_list'); // database - имя базы данных
$p = new page;
$p->lnk = $link;
<?php // Создаем объект класса имя pages class pages { // объявляем данные var $lnk; var $page; var $table; var $select; var $where; var $order_by; var $order; var $maxlines; var $all; var $maxpage; var $cur; var $cur_ord; var $cnt; var $limit; var $sql; } // Создаем объект класса pages $cl_pages= new pages; // присваиваем значения членам класса: $cl_pages->page=1; $cl_pages->lnk= mysql_connect("localhost", "мой_логин", "мой_пароль"); $cl_pages->table = 'spisok'; // имя таблицы в вашей бд $cl_pages->select = '*'; // столбцы через запятую или * если все $cl_pages->where = 1; // условие $cl_pages->order_by = '1'; // сортировка по (столбец) !! НЕ должен быть пустым!!! $cl_pages->order = 'ASC'; // сортировка: ASC - убывание, DESC - возрастание $cl_pages->maxlines = 20; // Максимальное количество записей на странице возвращаемых SQL запросом $cl_pages->maxpages = 10; // максимальное колво страниц на вывод. $cl_pages->all = 'записей'; // подпись $cl_pages->maxpage = 1; // максимальная страницв $cl_pages->cur; // номер текущ записи $cl_pages->cur_ord = 'ASC'; // порядок вывода номеров записей // ASC - убывание, DESC - возрастание $cl_pages->cnt; $cl_pages->limit; $cl_pages->sql; // for debug // максимальное колво страниц function maxpage() { $this->maxpage = ceil($this->cnt()/$this->maxlines); } //номер записи function cur() { if ( $this->cur_ord == 'ASC' && $this->cur == '') $this->cur = ($this->page * $this->maxlines)-$this->maxlines; if ( $this->cur_ord != 'ASC' && $this->cur == '') $this->cur = $this->cnt-($this->page * $this->maxlines)+$this->maxlines + 1; if ( $this->cur_ord == 'ASC') { $this->cur++; }else{ $this->cur--; } return $this->cur;} // запрос и возврат ссылки на ресурс function rsc() { $this->maxpage(); if (!isset($_GET['page']) || !is_numeric($_GET['page']) || $_GET['page']>$this->maxpage) $this->page=1; else $this->page=$_GET['page']; $this->limit = $this->page * $this->maxlines - $this->maxlines; $this->sql = "select ". $this->select. " from ". $this->table. " where ". $this->where. " order by ". $this->order_by. " ". $this->order. " limit ". $this->limit. " , ". $this->maxlines; $rsc = mysql_query($this->sql,$this->lnk) or die(mysql_error()); return $rsc;} // всего записей по условию function cnt($where=null){ if ($where == null) $where = $this->where; //$cnt = $this ->table; $sql = "select count(*) from ". $this->table. " where ".$where; $sql = mysql_query($sql,$this->lnk); $row = mysql_fetch_row($sql); $this->cnt = $row[0]; return $this->cnt;} // получаем номера страниц function nav($t=1){ $this->cnt(); $l=$this->page * $this->maxlines - $this->maxlines + 1; $r=$l + $this->maxlines - 1; if ($r > $this->cnt) $r = $this->cnt; echo '<p align="center"><b>'; $query_string = ''; $mass = explode("&",$_SERVER['QUERY_STRING']); //print_r($mass); if (!is_array($mass)) { $query_string .= $mass."?"; }else{ foreach($mass as $key){ if (!eregi("^page=[0-9]+$", $key)) { $query_string .= $key.'&'; }; } } $query_string = $_SERVER['SCRIPT_NAME'].'?'.str_replace("//","/",$query_string); if ($t=='1'){ $l = ceil($this->page / $this->maxpages) * $this->maxpages + 1 - $this->maxpages; $r = ceil($this->page / $this->maxpages) * $this->maxpages; if ($this->page > $this->maxpages) { $ll=$l-1; echo '<a href="'.$query_string.'page='.$ll.'">...</a>';} }else{ $l=$this->page - floor($this->maxpages / 2); $r=$this->page + floor($this->maxpages / 2); if ($l < 1){$l='1'; $r = $this->maxpages;} if ($r > $this->maxpage){$r=$r+$r/2;} if (($this->page - 1) > $this->maxpages / 2){ $ll=$l-1; echo '<a href="'.$query_string.'page='.$ll.'">...</a>';} } for ($l; $l<=$r; $l++){ if ($l > $this->maxpage)break; if ($l == $this->page){ print " <b>". $this->page. "</b> "; }else{ echo ' <a href="'.$query_string.'page='.$l.'" class=page>'.$l.'</a> ';} } if ($this->maxpage > $r) { $ll=$r+1; echo '<a href="'.$query_string.'page='.$ll.'">...</a>'; } echo '</b></font> '; echo '<b>Всего ' . $this->all . ' '; echo $this->cnt; echo '</b></p>'; } } // Устанавливаем соединение с базой данных $link = mysql_connect('localhost', 'мой_логин', 'мой_пароль'); // где host, login и pass - ваш хост, логин и пароль для подключения mysql_select_db('autostat_list'); // database - имя базы данных $p = new page; $p->lnk = $link; $p->table = 'spisok'; $p->select = '*'; $p->where = "1"; $p->order_by = '1'; $p->order = 'DESC'; $p->maxlines = 10; $p->maxpages = 20; $p->all = 'записей'; $sql = $p->rsc(); while ($row = mysql_fetch_array($sql)) { echo '<pre>'; echo $p->cur(), ' - '; // номер записи print_r($row); echo '</pre>'; } $p->nav(1); ?>
Если делаю так, то выдает ошибку, что скобочка } лишняя перед
// Устанавливаем соединение с базой данных
$link = mysql_connect('localhost', 'мой_логин', 'мой_пароль'); // где host, login и pass - ваш хост, логин и пароль для подключения
А если удаляю скобочку, то выдает
Fatal error: Cannot instantiate non-existent class: page in /home/....../table.php on line 209
Вот 207,208,209,210
$link = mysql_connect('localhost', 'мой_логин', 'мой_пароль'); // где host, login и pass - ваш хост, логин и пароль для подключения
mysql_select_db('autostat_list'); // database - имя базы данных
$p = new page;
$p->lnk = $link;
Спустя 11 часов, 49 минут, 47 секунд (10.07.2006 - 07:34) NoName написал(а):
QUOTE(agent007)
Если честно, с РНР у меня не очень:(
Приведу я лучше полностью код. То, что смог, исправил. Дальше не знаю как.
Если делаю так, то выдает ошибку, что скобочка } лишняя перед
// Устанавливаем соединение с базой данных
$link = mysql_connect('localhost', 'мой_логин', 'мой_пароль'); // где host, login и pass - ваш хост, логин и пароль для подключения
А если удаляю скобочку, то выдает
Fatal error: Cannot instantiate non-existent class: page in /home/....../table.php on line 209
Вот 207,208,209,210
$link = mysql_connect('localhost', 'мой_логин', 'мой_пароль'); // где host, login и pass - ваш хост, логин и пароль для подключения
mysql_select_db('autostat_list'); // database - имя базы данных
$p = new page;
$p->lnk = $link;
Приведу я лучше полностью код. То, что смог, исправил. Дальше не знаю как.
Если делаю так, то выдает ошибку, что скобочка } лишняя перед
// Устанавливаем соединение с базой данных
$link = mysql_connect('localhost', 'мой_логин', 'мой_пароль'); // где host, login и pass - ваш хост, логин и пароль для подключения
А если удаляю скобочку, то выдает
Fatal error: Cannot instantiate non-existent class: page in /home/....../table.php on line 209
Вот 207,208,209,210
$link = mysql_connect('localhost', 'мой_логин', 'мой_пароль'); // где host, login и pass - ваш хост, логин и пароль для подключения
mysql_select_db('autostat_list'); // database - имя базы данных
$p = new page;
$p->lnk = $link;
Удали в 153 строке ее и все, она действительно лишняя.
->$p = new page;
а класс почему не создал, тоже ошибка
Объяви его для начала class page {тут переменные} а потом уже $p = new page;
Спустя 2 часа, 1 минута, 19 секунд (10.07.2006 - 09:36) Ithilion написал(а):
Так, сходу одну ошибку заметил, класс назвали <i>pages</i>, а оперируете с <i>page</i> :)<br>Создаете-то: <br>
А надо:
$p = new page;
А надо:
$p = new pages;
Спустя 19 минут, 53 секунды (10.07.2006 - 09:56) Ithilion написал(а):
<?php // Создаем объект класса имя pages class pages { // объявляем данные var $lnk; var $page; var $table; var $select; var $where; var $order_by; var $order; var $maxlines; var $all; var $maxpage; var $cur; var $cur_ord; var $cnt; var $limit; var $sql; // максимальное колво страниц function maxpage() { $this->maxpage = ceil($this->cnt()/$this->maxlines); } //номер записи function cur() { if ( $this->cur_ord == 'ASC' && $this->cur == '') $this->cur = ($this->page * $this->maxlines)-$this->maxlines; if ( $this->cur_ord != 'ASC' && $this->cur == '') $this->cur = $this->cnt-($this->page * $this->maxlines)+$this->maxlines + 1; if ( $this->cur_ord == 'ASC') { $this->cur++; }else{ $this->cur--; } return $this->cur;} // запрос и возврат ссылки на ресурс function rsc() { $this->maxpage(); if (!isset($_GET['page']) || !is_numeric($_GET['page']) || $_GET['page']>$this->maxpage) $this->page=1; else $this->page=$_GET['page']; $this->limit = $this->page * $this->maxlines - $this->maxlines; $this->sql = "select ". $this->select. " from ". $this->table. " where ". $this->where. " order by ". $this->order_by. " ". $this->order. " limit ". $this->limit. " , ". $this->maxlines; $rsc = mysql_query($this->sql,$this->lnk) or die(mysql_error()); return $rsc;} // всего записей по условию function cnt($where=null){ if ($where == null) $where = $this->where; //$cnt = $this ->table; $sql = "select count(*) from ". $this->table. " where ".$where; $sql = mysql_query($sql,$this->lnk); $row = mysql_fetch_row($sql); $this->cnt = $row[0]; return $this->cnt;} // получаем номера страниц function nav($t=1){ $this->cnt(); $l=$this->page * $this->maxlines - $this->maxlines + 1; $r=$l + $this->maxlines - 1; if ($r > $this->cnt) $r = $this->cnt; echo '<p align="center"><b>'; $query_string = ''; $mass = explode("&",$_SERVER['QUERY_STRING']); //print_r($mass); if (!is_array($mass)) { $query_string .= $mass."?"; }else{ foreach($mass as $key){ if (!eregi("^page=[0-9]+$", $key)) { $query_string .= $key.'&'; }; } } $query_string = $_SERVER['SCRIPT_NAME'].'?'.str_replace("//","/",$query_string); if ($t=='1'){ $l = ceil($this->page / $this->maxpages) * $this->maxpages + 1 - $this->maxpages; $r = ceil($this->page / $this->maxpages) * $this->maxpages; if ($this->page > $this->maxpages) { $ll=$l-1; echo '<a href="'.$query_string.'page='.$ll.'">...</a>';} }else{ $l=$this->page - floor($this->maxpages / 2); $r=$this->page + floor($this->maxpages / 2); if ($l < 1){$l='1'; $r = $this->maxpages;} if ($r > $this->maxpage){$r=$r+$r/2;} if (($this->page - 1) > $this->maxpages / 2){ $ll=$l-1; echo '<a href="'.$query_string.'page='.$ll.'">...</a>';} } for ($l; $l<=$r; $l++) { if ($l > $this->maxpage) break; if ($l == $this->page) { print " <b>". $this->page. "</b> "; } else { echo ' <a href="'.$query_string.'page='.$l.'" class=page>'.$l.'</a> ';} }; if ($this->maxpage > $r) { $ll=$r+1; echo '<a href="'.$query_string.'page='.$ll.'">...</a>'; } echo '</b></font> '; echo '<b>Всего ' . $this->all . ' '; echo $this->cnt; echo '</b></p>'; } } // Создаем объект класса pages $cl_pages= new pages; // присваиваем значения членам класса: $cl_pages->page=1; $cl_pages->lnk= mysql_connect("localhost", "root"); $cl_pages->table = 'spisok'; // имя таблицы в вашей бд $cl_pages->select = '*'; // столбцы через запятую или * если все $cl_pages->where = 1; // условие $cl_pages->order_by = '1'; // сортировка по (столбец) !! НЕ должен быть пустым!!! $cl_pages->order = 'ASC'; // сортировка: ASC - убывание, DESC - возрастание $cl_pages->maxlines = 20; // Максимальное количество записей на странице возвращаемых SQL запросом $cl_pages->maxpages = 10; // максимальное колво страниц на вывод. $cl_pages->all = 'записей'; // подпись $cl_pages->maxpage = 1; // максимальная страницв $cl_pages->cur; // номер текущ записи $cl_pages->cur_ord = 'ASC'; // порядок вывода номеров записей // ASC - убывание, DESC - возрастание $cl_pages->cnt; $cl_pages->limit; $cl_pages->sql; // for debug // Устанавливаем соединение с базой данных $link = mysql_connect('localhost', 'root'); // где host, login и pass - ваш хост, логин и пароль для подключения mysql_select_db('autostat_list'); // database - имя базы данных $p = new pages; $p->lnk = $link; $p->table = 'spisok'; $p->select = '*'; $p->where = "1"; $p->order_by = '1'; $p->order = 'DESC'; $p->maxlines = 10; $p->maxpages = 20; $p->all = 'записей'; $sql = $p->rsc(); while ($row = mysql_fetch_array($sql)) { echo '<pre>'; echo $p->cur(), ' - '; // номер записи print_r($row); echo '</pre>'; } $p->nav(1); ?>
Вот так надо чтобы работало? ;)
Спустя 3 часа, 34 минуты, 49 секунд (10.07.2006 - 13:30) agent007 написал(а):
Спасибо, уже лучше. Только в код еще надо было ввести пароль для соединения с БД. Сейчас работает, но не совсем правильно. Результат выдается в виде
21 - Array
(
[0] => BMW 318 i, Limousine
[1] => 06/98, 112.000 км, 87 kW, стальной голубой металлик, МКПП, бензин, ABS, система стабилизации...
[2] => 7990
[3] =>
[4] =>
)
20 - Array
(
[0] => BMW 318 i, Kombi
[1] => 07/93, 123.000 км, 83 kW, бриллиантовый красный, МКПП, бензин, кондиционер, ABS,центр.замок...
[2] => 2990
[3] =>
[4] =>
)
.......
1 2 3
Всего записей 21
, начиная с последних позиций в списке (а не с первой) и столбцы моей таблицы выдаются в виде строчек (а не в виде столбцов).
У меня 4 поля: наименование, описание, цена и фото. А здесь "наименование" принимает какое то нулевое значение. Поля в моей таблице я пока назвал 1,2,3,4. Хотелось бы, чтобы таблица отображалась в виде таблице, как например на картинке ниже. Как это сделать?
И еще у меня вопрос: как добавить в таблицу фото и сделать с него ссылку на другую страницу?
21 - Array
(
[0] => BMW 318 i, Limousine
[1] => 06/98, 112.000 км, 87 kW, стальной голубой металлик, МКПП, бензин, ABS, система стабилизации...
[2] => 7990
[3] =>
[4] =>
)
20 - Array
(
[0] => BMW 318 i, Kombi
[1] => 07/93, 123.000 км, 83 kW, бриллиантовый красный, МКПП, бензин, кондиционер, ABS,центр.замок...
[2] => 2990
[3] =>
[4] =>
)
.......
1 2 3
Всего записей 21
, начиная с последних позиций в списке (а не с первой) и столбцы моей таблицы выдаются в виде строчек (а не в виде столбцов).
У меня 4 поля: наименование, описание, цена и фото. А здесь "наименование" принимает какое то нулевое значение. Поля в моей таблице я пока назвал 1,2,3,4. Хотелось бы, чтобы таблица отображалась в виде таблице, как например на картинке ниже. Как это сделать?
И еще у меня вопрос: как добавить в таблицу фото и сделать с него ссылку на другую страницу?
Спустя 59 минут, 40 секунд (10.07.2006 - 14:30) Ithilion написал(а):
<!--QuoteBegin--><div class='quotetop'>QUOTE</div><div class='quotemain'><!--QuoteEBegin-->Только в код еще надо было ввести пароль для соединения с БД<!--QuoteEnd--></div><!--QuoteEEnd--><br>То есть? Не совсем понял..<br><br><br><!--QuoteBegin--><div class='quotetop'>QUOTE</div><div class='quotemain'><!--QuoteEBegin-->Хотелось бы, чтобы таблица отображалась в виде таблице, как например на картинке ниже. Как это сделать?<!--QuoteEnd--></div><!--QuoteEEnd--><br>
Поменяй на динамическое создание таблицы, да и все... Что-то типа:
Рисунки в БД не заноси, сохраняй толко путь к ним, а сами рисунки загружай на сервер.
while ($row = mysql_fetch_array($sql)) { echo '<pre>'; echo $p->cur(), ' - '; // номер записи print_r($row); echo '</pre>'; }
Поменяй на динамическое создание таблицы, да и все... Что-то типа:
?> <table border=1> <tr align=center> <td>Название</td> <td>Описание</td> <td>Цена</td> </tr> <? while ($row = mysql_fetch_array($sql)) { echo '<tr align=center>'; echo '<td>'.$row[0].'</td>'; echo '<td>'.$row[1].'</td>'; echo '<td>'.$row[2].'</td>'; echo '</tr>'; } echo '</table>';
Рисунки в БД не заноси, сохраняй толко путь к ним, а сами рисунки загружай на сервер.
Спустя 1 день, 12 часов, 1 минута, 32 секунды (12.07.2006 - 02:32) agent007 написал(а):
QUOTE
Только в код еще надо было ввести пароль для соединения с БД
То есть? Не совсем понял..
То есть? Не совсем понял..
Здесь $cl_pages->lnk= mysql_connect("localhost", "root");
И здесь $link = mysql_connect('localhost', 'root'); нужно было еще указывать "password" в скобочках, иначе не шло соединение с базой.
А в остальном ОГРОМНЮЩЕЕ СПАСИБО!!!
Уже больше *цензура*оже на то, что нужно было. Но есть еще пара вопросиков. Идет сортировка по первому полю (имя "1"), но не по возрастанию, а по убыванию. Менял везде ASC на DESC - не помогает. И по навигации по таблице. Как сделать в таком виде:?
Имеется в наличии: 1 до 20 автомобилей из 114 сортировать по названию сортировать по цене
<>>>
Здесь сама таблица
<>>>
Спустя 7 часов, 26 минут (12.07.2006 - 09:58) Ithilion написал(а):
Посмотри внимательно, у тебя зачем-то создаются 2 объекта одного класса: $cl_pages и $p, а работаешь ты со вторым, а второй имеет свойство $p->order = 'DESC'; - вот потому и по убыванию сортируется...
А что бы сделать постраничный вывод, сначала необходимо вычислить кол-во страниц: [кол-во записей]/[кол-во записей на стр]
Потом создать некую переменную $page, равную текущей странице, и $rec_1 = $page*[кол-во записей на стр]; $rec_2= $page*[кол-во записей на стр]+[кол-во записей на стр];
А в SQL запросе подставить LIMIT $rec_1, $rec_2
А что бы сделать постраничный вывод, сначала необходимо вычислить кол-во страниц: [кол-во записей]/[кол-во записей на стр]
Потом создать некую переменную $page, равную текущей странице, и $rec_1 = $page*[кол-во записей на стр]; $rec_2= $page*[кол-во записей на стр]+[кол-во записей на стр];
А в SQL запросе подставить LIMIT $rec_1, $rec_2
_____________