САМОУЧИТЕЛЬ PHP 4



         

Полноценный класс таблицы MySQL - часть 8


 // чтения полей.

 $this->Error="";

 $Lst=array();

 foreach($Fields as $k=>$v) $Lst[]="$k $v";

 foreach($Index as $k=>$v)

 $Lst[]="index index_$k ($k".($v!=0?" ($v)":"").")";

 if(!mysql_query("create table $Name (".implode($Lst,",").")")) {

 $this->Error=mysql_error();

 return;

 }

 $this->JustCreated=1;

 }

 // Сохраняем информацию о таблице, если она поменялась

 if(!empty($Changed)||$this->JustCreated) {

 $Data["Fields"]=$Fields;

 $Data["Index"]=$Index;

 Def0($Data["Info"],array()); // Информации не было — делаем пустой

 $Data=SqlPack($Data);

 if($this->JustCreated) {

 $Result=mysql_query("insert into $Name(id,".DataField.")

 values(1,'$Data')");

 } else {

 $Result=mysql_query("update $Name set ".DataField.

 "='$Data' where id=1");

 }

 if(!$Result) { $this->Error=mysql_error(); return; }

 }

 $this->Fields=$Fields;

 $this->Index=$Index;

}

 

// Записывает в таблицу информацию, общую для всей таблицы. Эта

// информация может быть получена потом только при помощи метода

// GetInfo(), и никак иначе. Например, если таблица используется для

// гостевой книги, мы можем сюда записывать какие-нибудь параметры этой

// книги — скажем, имя и пароль владельца. $Inf может быть чем угодно —

// даже массивом.

function TableSetInfo($Inf)

{ $this->Error="";

 // Читаем информационную запись

 $r=mysql_query("select ".DataField." from ".

         $this->TableName." where id=1");

 if(!($Data=$this->GetResult($r))) return;

 // Устанавливаем поле Info

 $Data["Info"]=$Inf;

 $Data=SqlPack($Data);

 // Сохраняем результат

 if(!mysql_query("update ".$this->TableName.

 " set ".DataField."='$Data' where id=1"))

 { $this->Error=mysql_error(); return; }

 return 1;




Содержание  Назад  Вперед