Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Класс и Mysql

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Dark-def
Отправлено: 27 Декабря, 2012 - 18:40:00
Post Id



Частый гость


Покинул форум
Сообщений всего: 169
Дата рег-ции: Дек. 2012  
Откуда: Украина, Запорожье


Помог: 1 раз(а)




Такая ситуация: есть класс, есть sql запрос. В запрос нужно всунуть экземпляр класса. В классе функция, считающая кол-во записей в таблице. В общем выглядит вот так:
Функция:
CODE (htmlphp):
скопировать код в буфер обмена
  1. class main {
  2.                 public function count() {
  3.                        
  4.                         $result=DB::query("SELECT count(*) FROM `news`");
  5.                         $last = $result;
  6.                         echo $last;
  7.                        
  8.                 }

Вызов и собственно запрос:
CODE (htmlphp):
скопировать код в буфер обмена
  1. $last = new main;
  2.                                         $last->count();
  3.                     $result=DB::query("SELECT * FROM `news` where `type` = '1',`id` = $last ");

То-есть, мне нужно вывести последнюю добавленную запись в БД. В итоге получаю:
Catchable fatal error: Object of class main could not be converted to string in...
С ООП только начинаю работать, поэтому попрошу строго не судить...


-----
while(true); - // И пусть весь мир подождет
 
 Top
esterio
Отправлено: 27 Декабря, 2012 - 18:49:51
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




1. не всегда последний Ид равен количеству записей
Достать последнюю запись в таблце можно так:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM `news` WHERE `type`= '1' ORDER BY id DESC LIMIT 1;

2. в методе count класса main Вы просто виводите переменную но не возвращаете
3. ошибка у Вас в том что Вы переводите екземпляр класса main в строку.
Dark-def пишет:
$result=DB::query("SELECT * FROM `news` where `type` = '1',`id` = $last ");

$last = new main
 
 Top
Dark-def
Отправлено: 27 Декабря, 2012 - 19:07:03
Post Id



Частый гость


Покинул форум
Сообщений всего: 169
Дата рег-ции: Дек. 2012  
Откуда: Украина, Запорожье


Помог: 1 раз(а)




esterio, спасибо большое за помощь Улыбка
правда как я перевожу экземпляр класса в стринг я так и не понял Огорчение


-----
while(true); - // И пусть весь мир подождет
 
 Top
esterio
Отправлено: 27 Декабря, 2012 - 19:18:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




PHP:
скопировать код в буфер обмена
  1. $last = new main;
  2. $last->count();
  3. $result=DB::query("SELECT * FROM `news` where `type` = '1',`id` = $last ");

Посмотрите вниматильней. Пойду по шагам
1. Создаеться екземпляр класса main и присваиваеться переменной $last.
2. Испольняеться метод count класса main который ничего не возвращает, но зато он выводит количество записей в таблице news
3. делаетсья запрос где в строку запроса подставляеться переменная $last.

А тепер внимательно смотрим на шаги 1 и 3. Думаю тепер Вы догадались
 
 Top
Dark-def
Отправлено: 27 Декабря, 2012 - 19:23:00
Post Id



Частый гость


Покинул форум
Сообщений всего: 169
Дата рег-ции: Дек. 2012  
Откуда: Украина, Запорожье


Помог: 1 раз(а)




Да, еще раз спасибо большое за помощь Улыбка


-----
while(true); - // И пусть весь мир подождет
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB