Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Время генерации скрипта.

Сообщения:  [1-10]    [11-20]  [21-24] 

 
 автор: Axxil   (28.08.2006 в 11:14)   письмо автору
 
   для: Panker   (28.08.2006 в 10:21)
 

Если у вас уже есть база, то ничег специально создавать не надо.
В качестве примера приведу подключение класса к вашей функции pefl
Надеюсь понятнее станет.


<?
class dbClass{    
  function 
dbClass(){    
    
// Это у нас конструктор класса. Функция вызывается при инициализации класса.    
   // Т.е. во время выполнения инструкции $db = new $dbClass();   
    
$this->query_count 0// Это счётчик запросов, начальные условия 0    
    
$this->''// Это свойство, где будет храниться результат запроса   
  
}    
  function 
query($sql){    
    
// Универсальная функция осуществляющая запросы к БД.   
    // Т.е. она вызывается каждый раз, когда идёт обращение к базе    
    
$this->mysql_query($this->sql);    
// Внутреней переменной query мы присваиваем результат запроса,    
//теперь он будет виден из любой функции класса.   
    
$this->query_count++; // При каждом новом запросе прибавляем один к счётчику   
  
}     
// И например метод вытаскивающий строку       
  
function selectRow($sql){    
    
// Делаем запрос к базе.   
    
$this->query($sql);    
    
// Возвращаем первую строку результата   
    
return mysql_fetch_assoc($this->q);    
  }
// Метод делающий полную выборку 
  
function select(){
    
$ret = array();
    
$this->query($sql);
    while(
$r mysql_fetch_assoc($this->q))
      
array_push($ret,$r);
    return 
$ret;  
  }       
  function 
query_count(){    
    
// данный метод возвращает текущее значение счётчика запросов   
    
return $this->query_count;    
  }    


function 
pef1($pages,$db
{     
if(!
preg_match("/[0-9]/i"$pages)) 

{ echo 
"ERROR ID"; } 

else 
{
$sql "select * from pages where pages_id = $pages";  
$data $db->select($sql);     
  foreach(
$data as $pagesuthor)      
  {    
    require_once(
"class/bb.php");  //Подключаем файл замены ББ кодов, а так же проверки  на запрещённые теги и символы. 
    
echo "".$pagesuthor['pages_text'].""
  }      

return; 
}
$db = new dbClass();
pefl($page,$db);
?>

   
 
 автор: Panker   (28.08.2006 в 10:21)   письмо автору
 
   для: Axxil   (28.08.2006 в 00:18)
 


    
Потому что     
select * from pages 


Это запрос к базе данных на языке SQL
База понимает только такой язык, с этим уж ничего не поделаешь :)
И к пхп этот язык не имеет никакого отношения. PHP позволяет лишь обработать и вывести результат запроса.


простите, если ОЧЕНЬ СИЛЬНО ступлю... но в базе что то создовать надо что бы нормально работало? ил нет ? ато я что то оч сильрно сомневаюсь :)

   
 
 автор: Евгений Петров   (28.08.2006 в 02:27)   письмо автору
 
   для: cheops   (26.08.2006 в 22:58)
 

Согласен, кстати, очень типичный удачный способ использования ООП в PHP. Здесь действительно использование ООП полезно и оправдано.
Кстати ещё одно достоинство ООП в данном случае - это то что можно легко и быстро перенести всю систему с MySQL на скажем MSSQL. Для этого всего лишь нужно переписать класс базы данных....

   
 
 автор: Axxil   (28.08.2006 в 00:18)   письмо автору
 
   для: Panker   (27.08.2006 в 23:44)
 

Потому что

select * from pages

Это запрос к базе данных на языке SQL
База понимает только такой язык, с этим уж ничего не поделаешь :)
И к пхп этот язык не имеет никакого отношения. PHP позволяет лишь обработать и вывести результат запроса.

   
 
 автор: Panker   (27.08.2006 в 23:44)   письмо автору
 
   для: Axxil   (27.08.2006 в 23:15)
 

простите за непонятки, но зачем тогда вот эта ? $sql = 'select * from pages'; указывать таблицу и так далее?

   
 
 автор: Axxil   (27.08.2006 в 23:15)   письмо автору
 
   для: Panker   (27.08.2006 в 22:15)
 

Класс считает кол-во обращений к базе cms на данной странице

   
 
 автор: Panker   (27.08.2006 в 22:15)   письмо автору
 
   для: Axxil   (27.08.2006 в 22:11)
 

да запутался!
вот у меян есть БАЗА cms в ней море тамблиц в которых много сталбцов!

что считывает скрипт? обращейния ко всей баезе? к тамблице? или к 1 столбцу?

   
 
 автор: Axxil   (27.08.2006 в 22:11)   письмо автору
 
   для: Panker   (27.08.2006 в 21:51)
 

Раздели понятия база и таблица в базе.
pаges и quest это таблицы в базе
Вы когда выбираете базу в mysql_select_db то устанавливаете её текущей (если линки не используете).
И данный класс считает обращения к таблицам этой базы.

   
 
 автор: Panker   (27.08.2006 в 21:51)   письмо автору
 
   для: Axxil   (27.08.2006 в 21:07)
 


$sql = 'insert into table ... ';

а я и думал что там должно быть :)???''


и пару вопрсовов!

можно ли указывать базу так
  $sql = 'select * from pages';

почему если я даже указываю базу не pages которая тут задействовается а доустим guest которая на той старнице даже не задействуется всё равно показывается ОБРАЩЕЙНИЙ 2!!?

   
 
 автор: Axxil   (27.08.2006 в 21:07)   письмо автору
 
   для: Panker   (27.08.2006 в 19:49)
 

Блин, старею похоже...
Эту строчку надо изменить:

$this->q = mysql_query($this->sql);  

на

$this->q = mysql_query($sql);  

А через класс у вас проходят всего два запроса, поэтому два и показывает.
Да и

$sql = 'insert into table ... ';

Абсолютно бессмысленный запрос. Зачем вы его оставили?

   

Сообщения:  [1-10]    [11-20]  [21-24] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования