
![]() |
Здравствуйте Гость ( Вход | Регистрация ) |
|
|
|
![]() ![]() ![]() |
![]() Новичок ![]() Профиль Группа: Пользователь Сообщений: 6 Пользователь №: 141 На форуме: Карма: ![]() |
Parse error: syntax error, unexpected '(', expecting ',' or ';' in /home/...../table.php on line 56
Вот она 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 Какая тут ошибка? А можно увидеть строку 55 и 57 ? Спустя 2 минуты, 53 секунды (9.07.2006 - 01:21) agent007 написал(а): Вот 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; Так наверное будет правильней: // Создаем объект класса имя 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 = '*'; // столбцы через запятую или * если все Спустя 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 = '*'; // столбцы через запятую или * если все // Создаем объект класса имя 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> <?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; Удали в 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. Хотелось бы, чтобы таблица отображалась в виде таблице, как например на картинке ниже. Как это сделать? И еще у меня вопрос: как добавить в таблицу фото и сделать с него ссылку на другую страницу? Спустя 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 -------------------- |
![]() |
![]() ![]() ![]() |