Boas,
Estou a criar neste momento uma função que permite executar as querys atravez de 1 unica funcao, conteudo estou aqui com um pequeno problema, a query executa sem problemas e conforme da erro ou nao, guarda uns booleans e umas mensagens de erro caso for false dentro de um array, que no final da funcao é retornado, e no mesmo array tambem tenho o resulta do da query, ou seja devia guardar a ligação para retornar em conjunto com outras coisas.
O codigo nao dá erro nenhum, conteudo tambem nao me mostra o conteudo que eu queria mostrar!
page_loader: obtem a pagina aberta, obtem o nome do conteudo que está alocado na base de dados e obtem os resultados
Código (PHP):
simple_query: Cria e executa a query correctamente, mas nao sei se estará a retornar bem dentro do array
Código (PHP):
Estou a criar neste momento uma função que permite executar as querys atravez de 1 unica funcao, conteudo estou aqui com um pequeno problema, a query executa sem problemas e conforme da erro ou nao, guarda uns booleans e umas mensagens de erro caso for false dentro de um array, que no final da funcao é retornado, e no mesmo array tambem tenho o resulta do da query, ou seja devia guardar a ligação para retornar em conjunto com outras coisas.
O codigo nao dá erro nenhum, conteudo tambem nao me mostra o conteudo que eu queria mostrar!
page_loader: obtem a pagina aberta, obtem o nome do conteudo que está alocado na base de dados e obtem os resultados
Código (PHP):
class loader{
function page_loader(){
#obtem o nome (do url) da página
$cont = loader::page_get();
$page = loader::page_key_for_search($cont);
#executa a query para obter os dados da pagina aberta
$res_query = db::simple_query("select", "contents", array('url_name' => $page));
if($res_query['final_array'] != null || !empty($res_query['final_array'])){
$res_array = $res_query['final_array'];
/**
*
* QUERO UTILIZAR O RESULTADO DA QUERY AQUI
*
* **/
while($data = mysqli_fetch_array($res_array)){
echo"<b>Nome:</b>{$data['name']}<br/>
<b>Descrição:</b>{$data['desc']}<br/>
<b>Tipo:</b>{$data['type']}<br/>
<b>Nome url:</b>{$data['url_name']}<br/>
<b>conteudo:</b>{$data['content']}<br/>
<b>Template:</b>{$data['template']}<br/>
<b>Escrito por:</b>{$data['writed_by']}<br/>
<b>Escrito em:</b>{$data['writed_time']}<br/>
<b>Ultima actualização:</b>{$data['last_update']}<br/>";
}
}
#Associa os dados da página em conjunto ao template escolhido
//...
#retorna a pagina ao utilizador
//...
}
}
function page_loader(){
#obtem o nome (do url) da página
$cont = loader::page_get();
$page = loader::page_key_for_search($cont);
#executa a query para obter os dados da pagina aberta
$res_query = db::simple_query("select", "contents", array('url_name' => $page));
if($res_query['final_array'] != null || !empty($res_query['final_array'])){
$res_array = $res_query['final_array'];
/**
*
* QUERO UTILIZAR O RESULTADO DA QUERY AQUI
*
* **/
while($data = mysqli_fetch_array($res_array)){
echo"<b>Nome:</b>{$data['name']}<br/>
<b>Descrição:</b>{$data['desc']}<br/>
<b>Tipo:</b>{$data['type']}<br/>
<b>Nome url:</b>{$data['url_name']}<br/>
<b>conteudo:</b>{$data['content']}<br/>
<b>Template:</b>{$data['template']}<br/>
<b>Escrito por:</b>{$data['writed_by']}<br/>
<b>Escrito em:</b>{$data['writed_time']}<br/>
<b>Ultima actualização:</b>{$data['last_update']}<br/>";
}
}
#Associa os dados da página em conjunto ao template escolhido
//...
#retorna a pagina ao utilizador
//...
}
}
simple_query: Cria e executa a query correctamente, mas nao sei se estará a retornar bem dentro do array
Código (PHP):
class db{
function simple_query($query_type, $table, $fields = null){
#define variaveis a utilizar durante a funcao
$con = db::__define();
$result = array();
$query_type = strtoupper($query_type);
#constroi a query
if($query_type == "SELECT"){
#verifica se existem clausulas de condições
if(count($fields)){#se existirem numeros de linhas
$where_clauses="WHERE ";
foreach($fields as $key => $value){
$a_key = key($fields);
$where_clauses.="{$a_key}='{$value}'";
}
}else $where_clauses="";
#monta a query final
$query = "SELECT * FROM {$table} {$where_clauses}";
}elseif($query_type == "INSERT"){
}else echo "Erro: tipo de query nao foi bem definido";
#executa a query conforme o tipo de query
if($query_type == "SELECT"){
if($exec = $con -> query($query)){
if(mysqli_num_rows($exec)){
if($data = mysqli_fetch_array($exec)){
$result['final_array'] = $exec; #aqui está a guardar na posição do array a ligacao establecida com a base de dados
$result['fetch_array'] = true; $result['fetch_array_error'] = null;
}else{
$result['fetch_array'] = false; $result['fetch_array_error'] = mysqli_error($con);
$result['final_array'] = null;
}
#existem linhas
$result['rows'] = true; $result['rows_error'] = null;
}else{
#define erros
$result['rows'] = false; $result['rows_error'] = mysqli_error($con);
$result['fetch_array'] = false; $result['fetch_array_error'] = mysqli_error($con);
$result['final_array'] = null;
}
#A query foi bem executada
$result['executed'] = true; $result['executed_error'] = null;
}else{
#define erros
$result['executed'] = false; $result['executed_error'] = mysqli_error($con);
$result['rows'] = false; $result['rows_error'] = mysqli_error($con);
$result['fetch_array'] = false; $result['fetch_array_error'] = mysqli_error($con);
$result['final_array'] = null;
}
}
#retorna o resultado
return $result;
}
}
function simple_query($query_type, $table, $fields = null){
#define variaveis a utilizar durante a funcao
$con = db::__define();
$result = array();
$query_type = strtoupper($query_type);
#constroi a query
if($query_type == "SELECT"){
#verifica se existem clausulas de condições
if(count($fields)){#se existirem numeros de linhas
$where_clauses="WHERE ";
foreach($fields as $key => $value){
$a_key = key($fields);
$where_clauses.="{$a_key}='{$value}'";
}
}else $where_clauses="";
#monta a query final
$query = "SELECT * FROM {$table} {$where_clauses}";
}elseif($query_type == "INSERT"){
}else echo "Erro: tipo de query nao foi bem definido";
#executa a query conforme o tipo de query
if($query_type == "SELECT"){
if($exec = $con -> query($query)){
if(mysqli_num_rows($exec)){
if($data = mysqli_fetch_array($exec)){
$result['final_array'] = $exec; #aqui está a guardar na posição do array a ligacao establecida com a base de dados
$result['fetch_array'] = true; $result['fetch_array_error'] = null;
}else{
$result['fetch_array'] = false; $result['fetch_array_error'] = mysqli_error($con);
$result['final_array'] = null;
}
#existem linhas
$result['rows'] = true; $result['rows_error'] = null;
}else{
#define erros
$result['rows'] = false; $result['rows_error'] = mysqli_error($con);
$result['fetch_array'] = false; $result['fetch_array_error'] = mysqli_error($con);
$result['final_array'] = null;
}
#A query foi bem executada
$result['executed'] = true; $result['executed_error'] = null;
}else{
#define erros
$result['executed'] = false; $result['executed_error'] = mysqli_error($con);
$result['rows'] = false; $result['rows_error'] = mysqli_error($con);
$result['fetch_array'] = false; $result['fetch_array_error'] = mysqli_error($con);
$result['final_array'] = null;
}
}
#retorna o resultado
return $result;
}
}