|
|
|
|
|
для: Panker
(28.08.2006 в 10:21)
| | Если у вас уже есть база, то ничег специально создавать не надо.
В качестве примера приведу подключение класса к вашей функции pefl
Надеюсь понятнее станет.
<?
class dbClass{
function dbClass(){
// Это у нас конструктор класса. Функция вызывается при инициализации класса.
// Т.е. во время выполнения инструкции $db = new $dbClass();
$this->query_count = 0; // Это счётчик запросов, начальные условия 0
$this->q = ''; // Это свойство, где будет храниться результат запроса
}
function query($sql){
// Универсальная функция осуществляющая запросы к БД.
// Т.е. она вызывается каждый раз, когда идёт обращение к базе
$this->q = 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);
?>
|
| |
|
|
|
|
|
|
|
для: Axxil
(28.08.2006 в 00:18)
| |
Потому что
select * from pages
Это запрос к базе данных на языке SQL
База понимает только такой язык, с этим уж ничего не поделаешь :)
И к пхп этот язык не имеет никакого отношения. PHP позволяет лишь обработать и вывести результат запроса.
|
простите, если ОЧЕНЬ СИЛЬНО ступлю... но в базе что то создовать надо что бы нормально работало? ил нет ? ато я что то оч сильрно сомневаюсь :) | |
|
|
|
|
|
|
|
для: cheops
(26.08.2006 в 22:58)
| | Согласен, кстати, очень типичный удачный способ использования ООП в PHP. Здесь действительно использование ООП полезно и оправдано.
Кстати ещё одно достоинство ООП в данном случае - это то что можно легко и быстро перенести всю систему с MySQL на скажем MSSQL. Для этого всего лишь нужно переписать класс базы данных.... | |
|
|
|
|
|
|
|
для: Panker
(27.08.2006 в 23:44)
| | Потому что
Это запрос к базе данных на языке SQL
База понимает только такой язык, с этим уж ничего не поделаешь :)
И к пхп этот язык не имеет никакого отношения. PHP позволяет лишь обработать и вывести результат запроса. | |
|
|
|
|
|
|
|
для: Axxil
(27.08.2006 в 23:15)
| | простите за непонятки, но зачем тогда вот эта ? $sql = 'select * from pages'; указывать таблицу и так далее? | |
|
|
|
|
|
|
|
для: Panker
(27.08.2006 в 22:15)
| | Класс считает кол-во обращений к базе cms на данной странице | |
|
|
|
|
|
|
|
для: Axxil
(27.08.2006 в 22:11)
| | да запутался!
вот у меян есть БАЗА cms в ней море тамблиц в которых много сталбцов!
что считывает скрипт? обращейния ко всей баезе? к тамблице? или к 1 столбцу? | |
|
|
|
|
|
|
|
для: Panker
(27.08.2006 в 21:51)
| | Раздели понятия база и таблица в базе.
pаges и quest это таблицы в базе
Вы когда выбираете базу в mysql_select_db то устанавливаете её текущей (если линки не используете).
И данный класс считает обращения к таблицам этой базы. | |
|
|
|
|
|
|
|
для: Axxil
(27.08.2006 в 21:07)
| |
$sql = 'insert into table ... ';
|
а я и думал что там должно быть :)???''
и пару вопрсовов!
можно ли указывать базу так
$sql = 'select * from pages';
|
почему если я даже указываю базу не pages которая тут задействовается а доустим guest которая на той старнице даже не задействуется всё равно показывается ОБРАЩЕЙНИЙ 2!!? | |
|
|
|
|
|
|
|
для: Panker
(27.08.2006 в 19:49)
| | Блин, старею похоже...
Эту строчку надо изменить:
$this->q = mysql_query($this->sql);
|
на
$this->q = mysql_query($sql);
|
А через класс у вас проходят всего два запроса, поэтому два и показывает.
Да и
$sql = 'insert into table ... ';
|
Абсолютно бессмысленный запрос. Зачем вы его оставили? | |
|
|
|
|