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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.03.2011, 10:47   #1
sergeyrulit
Пользователь
 
Регистрация: 12.05.2010
Сообщений: 53
По умолчанию [mysql класс] вывод из базы

PHP код:
<?php 
    
    
class mySQL {
        
        private 
$hostDB 'localhost';
        private 
$userDB 'root';
        private 
$passDB '';
        private 
$baseDB 'test';
        
        var 
$recordArray = array();
        var 
$recordString;
        var 
$myQueryResult;
        
        function 
__construct() {
             
mysql_connect($this->hostDB$this->userDB$this->passDB);
            
mysql_select_db($this->baseDB);  
        } 
        
        function 
query($s) {
            
$this->myQueryResult mysql_query($s);
        }

        function 
fetchArray() {
              
$this->recordArray mysql_fetch_array($this->myQueryResult);
        }

    }
    
    
$myDB = new mySQL;
    
    
$myDB->query('SELECT * FROM `test`');
    
$myDB->fetchArray();
    print(
$myDB->recordArray[test]);

?>
Изучаю классы, сделал простой класс, но не понятно как вывести все из базы, а не только одну строку.

Без класса просто в цикле пускал:
PHP код:
while ($row mysql_fetch_array($query)) $row[test]; 
А как такое с классом организовать? Спасибо.
sergeyrulit вне форума Ответить с цитированием
Старый 07.03.2011, 15:29   #2
Metaron
Пользователь
 
Регистрация: 19.11.2010
Сообщений: 14
По умолчанию

для вывода всех объектов, полюбому должны использоваться циклы.
А вообще по сути примерно так всё должно выглядеть

PHP код:
<?php 
    
    
class mySQL {
        
        private 
$hostDB 'localhost';
        private 
$userDB 'root';
        private 
$passDB '';
        private 
$baseDB 'test';
        
        var 
$recordArray = array();
        var 
$recordString;
        var 
$myQueryResult;
        
        function 
__construct() {
             
mysql_connect($this->hostDB$this->userDB$this->passDB);
            
mysql_select_db($this->baseDB);  
        } 
        
        function 
query($s) {
            
$this->myQueryResult mysql_query($s);
        }

        function 
fetchArray() {
              if (
$this->recordArray mysql_fetch_array($this->myQueryResult)) {
                   
$result true;
              } else {
                   
$result false;
              }
              return 
$result;
        }

    }
    
    
$myDB = new mySQL;
    
    
$myDB->query('SELECT * FROM `test`');
    while (
$myDB->fetchArray()) {
        print(
$myDB->recordArray[test]);
    }

?>
Ну вроде бы так. Должно работать...


А вообще используй инкапсуляцию.
Не обращайся к объекту $myDB->recordArray[test] за пределами класса... Используй методы для получения данных объекта.

И ещё 1 момент $myDB->recordArray[test] - это неоптимизированно. И занимает больше времени чем с кавычками.
Используй одинарные кавычки для повышения быстродействия $myDB->recordArray['test']

Последний раз редактировалось Metaron; 07.03.2011 в 15:37. Причина: дополнение
Metaron вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MySql - проблема с переносом базы alexparser БД в Delphi 2 22.12.2010 14:18
Вывод данных.класс.(С++) zhenya.ya Помощь студентам 5 27.09.2010 02:17
Вывод данных из базы (mysql) в doc, rtf или pdf Иг0рёх@ Помощь студентам 4 25.08.2010 15:56
Соединение и выборкак из базы MySql сервера magsim БД в Delphi 1 17.01.2010 12:27
Сохранение базы MySQL в виде запроса... masterdela БД в Delphi 3 25.02.2009 07:01