JAK WYLACZE SET NAMES
Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 7: parser error : Input is not proper UTF-8, indicate encoding ! Bytes: 0xC4 0x3F 0x3C 0x2F in /frea/assets/core/DataService.class.php on line 15 Warning: simplexml_load_string() [function.simplexml-load-string]: <item route="2">Kupi�?</item> in /frea/assets/core/DataService.class.php on line 15 Warning: simplexml_load_string() [function.simplexml-load-string]: ^ in /frea/assets/core/DataService.class.php on line 15
a jak wlacze gina znaki polskie, mam ? zamiast ogonkow:
KOD klasy DB:
<?php class Db { private $connection; public $db; public $query; private $qString; private $qBuilder; private $runBuilder = false; private $lastResults; private $dataContainer; public function __construct($host,$user,$pass,$db) { if(!$this->connection) Application::Exception(); $this->query("SET NAMES utf8"); } public function Query($sql) { $sql?$this->qString=$sql:$sql; { return false; } return $this->query; } private function QueryBuilder($opt,$str) { $this->qBuilder[$opt] = $str; } private function BuildQuery() { if(!$this->qBuilder['FROM']) { return $this->query; } if(!$this->qBuilder['SELECT']) $this->qBuilder['SELECT'] = "*"; $query= "SELECT ".$this->qBuilder['SELECT']." FROM ".$this->qBuilder['FROM']; if($this->qBuilder['WHERE']) $query.=" WHERE ".$this->qBuilder['WHERE']; if($this->qBuilder['ORDER']) $query =" ORDER BY ".$this->qBuilder['ORDER']; if($this->qBuilder['LIMIT']) $query.=" LIMIT ".$this->qBuilder['LIMIT']; $this->qBuilder = ""; //echo $query; return $this->Query($query); } public function Select() { //print_r($columns); else $select = "*"; $this->QueryBuilder("SELECT",$select); return $this; } public function On($case) { $this->QueryBuilder("ON",$case); return $this; } { $this->QueryBuilder("JOIN",$table); return $this; } public function From($table) { $this->QueryBuilder("FROM",$table); return $this; } public function Where($where) { $this->QueryBuilder("WHERE",$where); return $this; } public function Order() { else $order = ""; $this->QueryBuilder("ORDER",$order); return $this; } public function Limit() { $limit = $limits[0].",".$limits[1]; else $limit = $limits[0]; $this->QueryBuilder("LIMIT",$limit); return $this; } public function NumResults($sql=null) { if(!$sql) $this->BuildQuery(); else $this->Query($sql); } public function GetResults($resultsType= A_ARRAY) { $this->BuildQuery(); switch($resultsType) { case A_ARRAY: { $results[] = $temp; } break; case M_ARRAY: { $results[] = $temp; } break; case _OBJECT: { $results[] = $temp; } break; default: { $results[] = $temp; } break; } { return $results[0]; } $this->lastResults = $results; return $results; } public function LastResult() { return $this->lastResults; } public function Delete() { if(!$this->qBuilder['FROM']) { $this->lastResults = false; return false; } $sql = "DELETE FROM ".$this->qBuilder['FROM']; if($this->qBuilder['WHERE']) $sql.=" WHERE ".$this->qBuilder['WHERE']; if($this->qBuilder['LIMIT']) $sql.=" LIMIT ".$this->qBuilder['LIMIT']; $this->qBuilder= ""; $this->Query($sql); return $this->lastResult; } public function Data($data) { { $vars = get_object_vars($data); } { $vars = $data; } //echo "<pre>"; //print_r($data); foreach($vars as $key=>$value) { if($value=="NOW()") $sets.=", `".$key."` = ".$value; else } $this->dataContainer = $sets; return $this; } public function Escape($str) { } public function Update($data="") { if($data) $this->Data($data); if(!$this->qBuilder['FROM'] or !$this->dataContainer) { $this->lastResults = false; return false; } $sql = "UPDATE `".$this->qBuilder['FROM']."` SET ".$this->dataContainer; if($this->qBuilder['WHERE']) $sql.= " WHERE ".$this->qBuilder['WHERE']; $this->Query($sql); $this->qBuilder = ""; return $this->lastResults; } public function Insert($data="") { if($data) $this->Data($data); if(!$this->qBuilder['FROM'] or !$this->dataContainer) { $this->lastResults = false; return false; } $sql = "INSERT INTO ".$this->qBuilder['FROM']." SET ".$this->dataContainer; $this->Query($sql); $this->qBuilder = ""; return $this->lastResults; } public function GetQuery() { return $this->qString; } } ?>
kod klasy dataservice:
<?php class DataService { private $Db; public function __construct($db) { $this->Db = $db; } public function __get($name) { $this->Db->From("dataService")->Where("name LIKE('".$name."')"); $r = $this->Db->GetResults(); return simplexml_load_string($r['xmlData']); } } ?>
Kod pliku ktory zapisuje:
<?php class Index extends Module { public function __preload() { } public function __default() { <categories> <item route="1"> Nieruchomości <item route="1">Sprzedam</item> <item route="2">Kupię</item> <item route="3">Poszukuję do wynajęcia</item> <item route="4">Mam do wynajęcia</item> </item> <item route="2"> Sprzęt elektroniczny <item route="1">Sprzedam</item> <item route="2">Kupię</item> <item route="3">Zamienię</item> <item route="4">Naprawa</item> </item> <item route="3"> Motoryzacja <item route="1">Sprzedam</item> <item route="2">Kupię</item> <item route="3">Zamienię</item> <item route="4">Części zamienne</item> </item> <item route="4"> Usługi <item route="1">Poszukuję</item> <item route="2">Oferuję</item> </item> <item route="5"> Praca <item route="1">Poszukuję</item> <item route="2">Zatrudnię</item> </item> <item route="6">Towarzyskie</item> <item route="7"> Nauka <item route="1">Korepetycje</item> <item route="2">Języki obce</item> <item route="3">Podręczniki i inne</item> </item> <item route="8"> Zdrowie i uroda <item route="1">Usługi</item> <item route="2">Inne</item> </item> <item route="9"> Różne <item route="1">Sprzedam</item> <item route="2">Kupię</item> <item route="3">Zamienię</item> <item route="4">Oddam</item> <item route="5">Zwierzęta</item> <item route="6">Inne</item> <item route="7">Szukam</item> </item> </categories> ',"name"=>"categories")); $this->Template->categories = $this->DataService->categories; $this->Template->ApplyTemplate("tpl"); } public function __denied($method) { } public function Supervised() { return false; } public function __error($e) { } public function register() { } } ?>