Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Закрытая темаСоздание новой темыСоздание опроса

> Синтаксическая ошибка
agent007  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 6
Пользователь №: 141
На форуме: 10 лет, 6 месяцев, 21 день
Карма:




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-->Хотелось бы, чтобы таблица отображалась в виде таблице, как например &nbsp;на картинке ниже. Как это сделать?<!--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


--------------------
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Закрытая темаСоздание новой темыСоздание опроса