Примеры работы с базой


Примеры обращений к базе с использованием средств фреймверка и CMS Webolla

Цикл из базы данных можно сделать следующим образом:

 

$sql = "SELECT T.NAZ as tag_name FROM MTAG T, MTAG_IUSER I WHERE T.ID = I.MTAG AND I.IUSER=".$UID;    

$rs = $conn->Execute($sql) or die("Ошибка выполнения $sql");    
 while(!$result->EOF
  {
    $tags.="<dd>".$rs->fields['tag_name']."</dd>"; 
$rs->MoveNext();
}
 
помещает в переменную $sql строки запроса учитывая переменную из предшествующего запроса.
формирование массива из строк запроса для работы с циклом
 условие "пока содержимое массива не достигнет отметки EOF (конец)"
операции над текущей итерацией цикла
переход к следующей строке массива
 

 

Команда движка для получения одного значения из базы в переменную:

 

$count = GetFieldFromSQL($this->conn,"SELECT  COUNT(*) FROM PICTURE WHERE CREATOR=".$rs->fields['ID'] ,0);  

получаем количество полей по переданной переменной.

 

 

Команда движка для выборки нескольких полей в строке базы:

 
$D = GetFieldsFromSQL($conn,"SELECT ID, EMAIL, ULGN FROM IUSER WHERE ID=$_SESSION['ID']",array(0,0,0,0,0),'d.m.Y');       
$EMAIL = $D[1];
$ULGN = $D[2];

 

получаем 3 поля строки из таблицы по заданой переменной сессии


 

Пример добавления в базу новых полей (регистрация пользователя):

 

$no = NewObject($this->conn,'TIuser',0);
    $no->sf('NAZ',$name);
    $no->sf('ULGN',$user_sn_id);
    $no->sf('EMAIL',$email);
    $no->sf('PROVIDER',$provider);
    $no->sf('FULLURL',$full_url);
    $no->sf('LASTDATE',date('d.m.Y H:i'));
    $s = $no->BaseInsert(); 
    if ($s) $this->red_mess .= $s;
    else
       {
       $w_karloid = $no->id;
       $_SESSION['w_karloid']=$w_karloid;
       }

 


Пример обновления данных в базе по указанному идентефикатору:

 

$no = NewObject($this->conn,'TIuser',$uid);
    $no->sf('NAZ',$name);
    $no->sf('LASTDATE',date('d.m.Y H:i'));
    $s = $no->BaseUpdate(); 

Удаление записи из базы:

 

 $obj = NewObject($conn,'talbums',$PID);
 $s =  $obj->BaseDelete();
 
 
* с параметром подключения к бд ($conn/$this->conn) возможны варианты, последние версии cms поддерживают "$conn".