Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.02.2011, 10:43   #1
Minus_yu
Чатланин!
Форумчанин
 
Аватар для Minus_yu
 
Регистрация: 20.11.2010
Сообщений: 140
По умолчанию Ошибка в наследовании классов

Имеется класс A

PHP код:
class extends Db {
        
    
        
//общая функция выборки из БД
        
function select($fields,$table){

            
$query 'SELECT '.$fields.' FROM '.$table;
//            echo $query;
            
$result_query $this->mysql_zapros($query);
            
            return 
$result_query;

    }

mysql_zapros($query) - функция родительского класса DB, который отвечает за работу с MySql

Далее есть еще два класса:

PHP код:
class extends A{


function 
get_b(){
            
$res $this->select('*','table1');
            while (
$result mysql_fetch_assoc($res)){
                
$list[] = $result;
            }
            return 
$list;
        }

и

PHP код:
class extends {

function 
get_c(){
            
$res $this->select('*','table2');
            while (
$result mysql_fetch_assoc($res)){
                
$list[] = $result;
            }

            return 
$list;
        }

Далее делаю вот что..
PHP код:
$c = new C();
$list1 $c->get_c(); 
и все вроде нормально... НО когда дописываю вот такие две строчки:

PHP код:
$b = new B();
$list2 $b->get_b(); 
код отказывается работать так, как я хочу...



Подскажите, пожалуйста, почему так происходит... Где я невнимателен? Где я ошибаюсь?

Последний раз редактировалось Minus_yu; 24.02.2011 в 08:34.
Minus_yu вне форума Ответить с цитированием
Старый 24.02.2011, 08:26   #2
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

Цитата:
код отказывается работать так, как я хочу...
А как вы хотите чтобы он работал?
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 24.02.2011, 08:34   #3
Minus_yu
Чатланин!
Форумчанин
 
Аватар для Minus_yu
 
Регистрация: 20.11.2010
Сообщений: 140
По умолчанию

Хочу последовательно выводить инфу из двух таблиц. Если обращаюсь только к одной из функций get_b или get_c, то все в порядке. Если же последовательно к двум то не получается.
Minus_yu вне форума Ответить с цитированием
Старый 24.02.2011, 08:54   #4
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

Ошибка скорее всего не в наследовании, поищите опечатки, ошибки обработки массивов.
Цитата:
Если же последовательно к двум то не получается.
Опять же, что именно не получается?
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 24.02.2011, 08:58   #5
Minus_yu
Чатланин!
Форумчанин
 
Аватар для Minus_yu
 
Регистрация: 20.11.2010
Сообщений: 140
По умолчанию

Цитата:
Сообщение от mv28jam Посмотреть сообщение
Опять же, что именно не получается?
получить массивы с информацией из таблиц и вывести их на страницу браузера
Minus_yu вне форума Ответить с цитированием
Старый 24.02.2011, 16:30   #6
ssdm
Форумчанин
 
Регистрация: 20.05.2009
Сообщений: 506
По умолчанию

Кажется мне что надо смотреть класс Db.
Коде его выложить можете ?
ssdm вне форума Ответить с цитированием
Старый 24.02.2011, 17:58   #7
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Приведите примеры print_r($list1) и print_r($list2). Действительно непонятно чего какого результата вы ждете и что вам приходит.
P.S.
Код:
while ($result = mysql_fetch_assoc($res)){
                $list[] = $result;
            }
            return $list;
=
Код:
return mysql_fetch_assoc($res)
Cronos20 вне форума Ответить с цитированием
Старый 24.02.2011, 19:58   #8
Minus_yu
Чатланин!
Форумчанин
 
Аватар для Minus_yu
 
Регистрация: 20.11.2010
Сообщений: 140
По умолчанию

Цитата:
Сообщение от Cronos20 Посмотреть сообщение
Код:
while ($result = mysql_fetch_assoc($res)){
                $list[] = $result;
            }
            return $list;
=
Код:
return mysql_fetch_assoc($res)
не совсем

и дело было не в классе Db

Все спасибо за мозголомство, тему можно закрывать))
Minus_yu вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ГЛЮКИ при наследовании фреймов Delphi 7 AnTe Компоненты Delphi 3 10.12.2010 09:02
C++ наследование классов. очень простая ошибка, немогу разобраться в выводе при одинаковых массивах Sanu0074 Помощь студентам 1 02.06.2010 10:33
Создание классов и использование объектов классов при написании программ в среде C++. Frozen inside Помощь студентам 0 16.04.2009 23:18
Перегрузка == при наследовании paramon Общие вопросы C/C++ 5 17.06.2008 00:17