-
Total de itens
620 -
Registro em
-
Última visita
Tudo que Jack Oliveira postou
-
Da pra fazer também usando uma função Eu mesmo uso desta forma espero que te ajuda da melhor forma tbm <? // Categoria do Item function VerificaCategoriaItem($Item, $Tabela){ $QueryCategoria = DBRead("{$Tabela}",'categoria',"WHERE id = '{$Item}'"); if (is_array($QueryCategoria)) { foreach ($QueryCategoria as $categoria) { echo $categoria['categoria']; } } } ?> Assim fica facil de você poder fazer em todos os outros produtos com categorias deferentes entende? Chama ela da seguinte forma <?php $QueryProduto = DBRead('tbl_produto','*'); if (is_array($QueryProduto)) { foreach ($QueryProduto as $Pro) { ?> <span>ID: <?= $Pro['id']; ?></span><br> <span>Produto: <?= $Pro['titulo']; ?></span><br> <span>Categoria: <?= VerificaCategoriaItem($Pro['id_categoria'],'tbl_categoria'); ?></span> <?php }} ?> Espero ter ajudado
- 2 respostas
-
- php
- javascript
-
(e mais 2 )
Tags:
-
Ola pessoal boa noite Vou tentar resumir da melhor forma aqui o que preciso Seria o seguinte estou pegando os dados do banco de dados para serem listando pelo datatables usando php Ao lista todos conteudos do banco funciona normal até aqui esta perfeito Porem em outra parte que seria para os clientes que tiverem seus dados cadastros e eles mesmo forem atualizar que cada um deles veja seus dados entende? Fiz de algumas formas pensando que daria certo porem não tive resultados que preciso. Espero que possam entender o que preciso irei posta apenas a parte do que esta sendo o problema, creio que vocês que tem melhor conhecimento vai entender.... <?php header('Content-Type: application/json'); require_once ('../database/config.php'); require_once ('../database/config.database.php'); require_once ('../database/config.session.php'); require_once('../includes/funcoes.php'); require('../controller/ssp.class.php'); $sql_details = array( 'user' => DB_USERNAME, 'pass' => DB_PASSWORD, 'db' => DB_DATABASE, 'host' => DB_HOSTNAME ); //$table = DBRead('listagem','id_user',"WHERE id_user = '".DadosSession('id')."'") //$table = 'listagem'; // Desta forma lista tudo, mais não é o que preciso /*no console sempre da erro nesta linha */$table = 'listagem','id_user',"WHERE id_user = '".DadosSession('id')."'"; // Quero que me mostra apenas cada item por usuario $primaryKey = 'id'; $columns = array( array( 'db' => 'id', 'dt' => 0, 'formatter' => function ($id, $row) { ob_start(); ?> <? //Aqui vai mais colunas ?> <?php //Aqui seria o final do código return ob_get_clean(); } ) ); $response = SSP::simple($_GET, $sql_details, $table, $primaryKey, $columns); echo json_encode($response); ?> Coloquei apenas mais o que esta sendo preciso aqui sobre o PHP
-
Salvar dados na tabela com JAVASCRIPT
Jack Oliveira postou uma questão Perguntas e respostas rápidas
Ola pessoal boa noite preciso salvar umas coisas no banco de dados usando ao clicar no botão que esteja aparecendo sem que recarregue a página Seria isso aqui HTML do botão <div class="btn-group"> <a href="javascript:void(0)" class="rate-btn toggole-contnet"> <i class="fa fa-thumbs-o-up" aria-hidden="true"></i> Sim </a> <a href="javascript:void(0)" class="rate-btn toggole-contnet"> <i class="fa fa-thumbs-o-down" aria-hidden="true"></i> Não </a> </div> No PHP para salvar no banco esta da seguinte forma. <?php if(isset($_POST['AvaliComentario'])) { // Se o cookie ainda não foi setado $cookie = isset($_COOKIE["avali_comentario_".$Comentario['id']]) ? $_COOKIE["avali_comentario_".$Comentario['id']] : null; if (!isset($cookie)) { $Adicionar = array( 'comentario_id' => $Comentario['id'], 'up' => post('up'), 'down' => post('down') ); $Query = DBCreate('avali_comentario', $Adicionar); // Se for um sucesso a query if ($Query) { // Seta um cookie setcookie("avali_comentario_".$Comentario['id']."", true, time()+60*60*24*6004); // Retorna false, ou seja, sucesso echo false; Redireciona(''.$URLSHARE.''); }else{ //AbreAlerta("Erro! Ouve um erro ao ".$dados['titulo']."!"); //Redireciona(''.$URLSHARE.''); } }else{ //Sweet('Atenção!!!', 'Você já deu sua Curtida para '.$dados['titulo'].'!', 'warning', 'Fechar'); //AbreAlerta("Ops! Você já deu sua Curtida para ".$dados['titulo']."!"); //Redireciona(''.$URLSHARE.''); } } Só preciso para quando clicar uns dos botão ele salvar sem precisar carregar a página... Se ter um forma diferente para fazer fico grato pelas dicas que puderem dar ai..- 6 respostas
-
- php
- javascript
-
(e mais 1 )
Tags:
-
Salvar dados na tabela com JAVASCRIPT
Jack Oliveira respondeu ao pergunta de Jack Oliveira em Perguntas e respostas rápidas
Ola @Omar~ Quero fazer usando data-value Tu sabes como posso usar ou seja montar ele para que seja gravado apenas se for clicado em uns dos botões? Na minha tabela fiz isso aqui, sem que não tem nada a ver aqui... CREATE TABLE `avali_comentario` ( `id` int(11) NOT NULL AUTO_INCREMENT, `comentario_id` int(11) NOT NULL, `up` int(11) NOT NULL, `down` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; Veja aqui no html como que posso bloquear se uns dos botão já tiver sindo clicado? <div class="btn-group"> <form method="post" action="" id="ajax_form"> <a href="javscript:void(0)" data-value="1" class="rate-btn toggole-contnet"> <i class="fa fa-thumbs-o-up" aria-hidden="true"></i> Sim </a> <a href="javscript:void(0)" data-value="2" class="rate-btn toggole-contnet"> <i class="fa fa-thumbs-o-down" aria-hidden="true"></i> Não </a> </form> </div> No javascript fiz isso <script type="text/javascript"> jQuery(document).ready(function(){ jQuery('#ajax_form').submit(function(){ var dados = jQuery( this ).serialize(); jQuery.ajax({ type: "POST", url: "ajax/avaliar_listagem.php", data: dados, success: function( data ) { alert( data ); } }); return false; }); }); </script> No avaliar_listagem.php seria o mesmo aqui no PHP <?php if(isset($_POST['AvaliComentario'])) { // Se o cookie ainda não foi setado $cookie = isset($_COOKIE["avali_comentario_".$Comentario['id']]) ? $_COOKIE["avali_comentario_".$Comentario['id']] : null; if (!isset($cookie)) { $Adicionar = array( 'comentario_id' => $Comentario['id'], 'up' => post('up'), 'down' => post('down') ); $Query = DBCreate('avali_comentario', $Adicionar); // Se for um sucesso a query if ($Query) { // Seta um cookie setcookie("avali_comentario_".$Comentario['id']."", true, time()+60*60*24*6004); // Retorna false, ou seja, sucesso echo false; Redireciona(''.$URLSHARE.''); }else{ AbreAlerta("Erro! Ouve um erro ao ".$dados['titulo']."!"); //Redireciona(''.$URLSHARE.''); } }else{ //Sweet('Atenção!!!', 'Você já deu sua Curtida para '.$dados['titulo'].'!', 'warning', 'Fechar'); AbreAlerta("Ops! Você já deu sua Curtida para ".$dados['titulo']."!"); //Redireciona(''.$URLSHARE.''); } } Sobre o que tu mandou qui vou dar um estudada nele.. Vou criar uma tabela para pegar as informações necessárias Obrigado pela esta ajuda- 6 respostas
-
- php
- javascript
-
(e mais 1 )
Tags:
-
Salvar dados na tabela com JAVASCRIPT
Jack Oliveira respondeu ao pergunta de Jack Oliveira em Perguntas e respostas rápidas
Sobre aqui certo vou fazer obrigado....- 6 respostas
-
- php
- javascript
-
(e mais 1 )
Tags:
-
Salvar dados na tabela com JAVASCRIPT
Jack Oliveira respondeu ao pergunta de Jack Oliveira em Perguntas e respostas rápidas
Ola @Omar~ Boa tarde então esta aparte que usará cookies seria bloquear para que os mesmo não fazem mais de uma vez... Porem os usuários que poderá fazer as avaliações será quando fazerem algum comentário e sim poder dar sua avaliação, neste caso eles não teria login entende?? Teria como fazer pelo IP de uso do usuários ou seja da maquina ou mesmo da rede da internet IP?- 6 respostas
-
- php
- javascript
-
(e mais 1 )
Tags:
-
Boa noite @Matheus Tavares obrigado..... Funcionou como precisava vlw mesmo....
-
Ola pessoal boa noite Bom pessoal estou fazendo uma função para formatar url de rede social, FACEBOOK, INSTAGRAM & TWITTER, não sei se esta da forma correta em fazer. Ex: https://www.facebook.com/minha-pagina quero pegar apenas o final que seria minha-pagina Isso seria tanto no instagram e twitter Fiz da seguinte forma <?php function FormatarUrlRedeSocial($URL){ if (strstr($URL, 'https://facebook.com/') || strstr($URL, 'http://facebook.com/')) { $UrlRedeSocial = explode('facebook.com/', $URL); return $UrlRedeSocial[1]; } elseif (strstr($URL, 'http://') || strstr($URL, 'https://')){ $UrlRedeSocial = explode($URL); $UrlRedeSocial = explode($UrlRedeSocial[1]); return $UrlRedeSocial[0]; } else { return $URL; } } ?> Porem quero que seja apenas uma função unica para todos Tipo https://www.facebook.com/<?= FormatarUrlRedeSocial($dados['url_facebook']); ?> https://www.instagram.com/<?= FormatarUrlRedeSocial($dados['url_instagram']); ?> https://www.twitter.com/<?= FormatarUrlRedeSocial($dados['url_twitter']); ?> Bom do porque não usar os link´s direto, bom pois em outras parte que vou pegar este nome no final não poderia ter o link completo Então decide fazer uma função onde não vou precisar criar vários campos na tabela sem necessidades. Espero que possam entender o que preciso. Se puder da uma ajuda fico grato...
-
Bom vou dar uma ideia talvez não seja a melhor. Mais tente da seguinte forma, ou seja conforme deseja fazer ai <?php $DataAtual = date('d/m/Y'); // Data Atual //$DataValida = date('d/m/Y', strtotime($dados['data_banco_de_dados'])); // Data do banco de dados $DataValida = date('d/m/Y', strtotime('2021-07-13')); // Data do banco de dados // transforma a data do formato BR para o formato americano, ANO-MES-DIA $DAtual = implode('-', array_reverse(explode('/', $DataAtual))); $DValida = implode('-', array_reverse(explode('/', $DataValida))); // converte as datas para o formato timestamp $DA = strtotime($DAtual); $DV = strtotime($DValida); // verifica a diferença em segundos entre as duas datas e divide pelo número de segundos que um dia possui $ResultadoFinal = ($DV - $DA) /86400; ?> <?php if ($ResultadoFinal != -1) { }else{ //Atualizar O Usuario /* Acredito que neste campo vip 1 a 5 seria os nivel certo? Onde esta o 17 seria o id do ususario */ // DBUpdate('usuarios', array('nivel' => '0'), "id = '{$id}'"); DBUpdate('usuarios', array('vip' => '1'), "id = '17'"); Redireciona('./index.php'); } ?> Espero ter ajudado
-
Bom se eu entende tu queres quando for clicado no botão ele ser gravado no banco de dados, pos ser gravado exibi a alteração certo? Vou posta um forma que uso, e me ajuda muito... Primeiro vamos ao gravar no banco que seria isso.. OBS: so ajustar conforme for o seu código ai <? // Habilitar if (isset($_GET['Habilitar'])) { $id = get('Habilitar'); $Atualiza = array( 'habilitado' => 'S' ); $Query = DBUpdate("minha_tbl",$Atualiza,"id = '{$id}'"); if ($Query != 0) { Redireciona('?sucesso'); } elseif ($Query == 0) { Redireciona('?erro'); } } // Desabilitar if (isset($_GET['Desabilitar'])) { $id = get('Desabilitar'); $Atualiza = array( 'habilitado' => 'N' ); $Query = DBUpdate("minha_tbl",$Atualiza,"id = '{$id}'"); if ($Query != 0) { Redireciona('?sucesso'); } else { Redireciona('?erro'); } } ?> Na parte onde vai ter opção de habilitar e desabilitar ficaria assim <?php if ($habilitado =='S') { ?> <span><a href="?Desabilitar=<?= $row['id']; ?>"><small class='btn btn-info' <?php Tooltip('Desabilitar '.$row['titulo'].'?','top'); ?>>Habilitado</small></a></span> <?php } else { ?> <span><a href="?Habilitar=<?= $row['id']; ?>"><small class='btn btn-danger' <?php Tooltip('Habilitar '.$row['titulo'].'?','top'); ?>>Desabilitado</small></a></span> <?php } ?> Espero ter ajudo......
- 2 respostas
-
Ola Matheus Tavares Boa noite, obrigado pela resposta.. Então fiz assim tbm e não deu certo.... Nesta parte se tu observar no form que mostrei ira ver como fiz para chamar ou seja tem os id´s relacionado a cada Ex: <?php //Departamento FAQ $QueryDepartamentoFaq = DBRead('tbl_department_faq','*',"WHERE dep_id='{$dep_id}'"); if (is_array($QueryDepartamentoFaq)) { foreach ($QueryDepartamentoFaq as $Fa) { $arr_fq_id[] = $Fa['fq_id']; $arr_fq_title[] = $Fa['fq_title']; $arr_fq_content[] = $Fa['fq_content']; }} if(isset($arr_fq_title)): for($i=0;$i<count($arr_fq_title);$i++) { ?> <tr> <td> <input autocomplete="off" type="text" class="form-control" style="width:100%" name="fq_title" value="<?= $arr_fq_title[$i]; ?>"> </td> <td> <textarea class="form-control" cols="30" rows="10" style="width:100%;height:50px;" name="fq_content"><?= $arr_fq_content[$i]; ?></textarea> </td> <td> <span class="btn btn-danger btn-xs"><a onclick="DeletarItem(<?= $arr_fq_id[$i]; ?>, 'DeletarFaq');" href="#!" style="color: #fff;">Excluir</a></span> </td> </tr> <?php //}} } endif; ?> Aqui onde esta "WHERE dep_id='{$dep_id}' nesta parte ele pega o ID da pagina que esta sendo editando {$dep_id} Entende??
-
Htaccess - problema para utilizar https no subdominio
Jack Oliveira respondeu ao tópico de Adriano Barbosa em PHP
Olá boa noite tente assim RewriteEngine on RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule (.*) https://www.dominio.com%{REQUEST_URI} [R=301,L] Veja aqui -
Carregar página com Ajax e executar Scripts ou Jquery
Jack Oliveira respondeu ao tópico de mateus.andriollo em Javascript
Ola Omar admiro muito sobre o que tu post aprendo cada vez mais sobre suas coisas Sei que qui não seria um lugar certo para esta duvida.... Mais uma duvida qual as vantagem sobre usar jQuery e usar javascript, se o jQuery é tão ruim assim porque que muitos usam ele ainda? Apesar que o JAVASCRIPT é até melhor de entender, ainda tenho que aprender muito sobre JAVASCRIPT. -
Como alterar um texto conforme o horário?
Jack Oliveira respondeu ao pergunta de Alessandro Bodão em Perguntas e respostas rápidas
Ola pode fazer da seguinte forma com PHP <?php $hr = date("H"); if($hr >= 12 && $hr<18) { $Resultado = "Boa tarde!";} else if ($hr >= 0 && $hr <12 ){ $Resultado = "Bom dia!";} else { $Resultado = "Boa noite!";} echo "$Resultado"; ?> -
olha não sei se a minha resposta vai ser a melhor, mais tente assim <?php $dados = array("um" , "dois" , "tres" ); //shuffle($dados); sort($dados); // vai classificar o Array em ordem Crescente for($i=0; $i<1; $i++){ print $dados[$i].'<br>'; } ?> <?php $dados = array("um" , "dois" , "tres" ); //shuffle($dados); rsort($dados); // vai classificar o Array em ordem Descrecente for($i=0; $i<1; $i++){ print $dados[$i].'<br>'; } ?> Na duvida de uma olha aqui com php E veja aqui com javascript
-
Ola pessoal boa noite.. Vou tentar explicar aqui o meu problema da melhor forma que der, espero que possam entender... Amigos eu estou tendo um problema em fazer uma atualização Bom quando vou cadastrar da sucesso e é gravado normal no banco de dados ate ai esta ok.. Seria o seguinte dentro de um form ele gera linhas ou seja + inputs caso seja preciso entende? Usando javascript´s, quando vou atualizar as informações que esta nas tabelas ou seja são 3 tabelas tbl_department dep_id nome news etc.... tbl_department_openning_hour hou_id titulo time dep_id <-- Aqui onde pega o id da tabela tbl_department tbl_department_faq faq_id titulo conteudo dep_id <-- Aqui onde pega tbm o id da tabela tbl_department Obs: Ele Grava normal no banco de dados, porem quando atualizar que não esta dando certo, e é preciso que seja atualizado todos os input das tabelas tbl_department_faq e tbl_department_openning_hour. Acredito que já entenderam aqui umas das parte que seria preciso. Bom vou posta uma parte do HTML do FORM para melhor entender o que seria ok!!, Sei que não tem nada a ver com o PHP, mais como tinha dito apenas para melhor entender.. <?php $dep_id = get('EditarItem'); $QueryTblDepartment = DBRead('tbl_department','*',"WHERE dep_id = '{$dep_id}'"); if (is_array($QueryTblDepartment)) { foreach ($QueryTblDepartment as $TblDepartment) { ?> <form method="post" action="?Atualizar=<?= $TblDepartment['dep_id']; ?>" enctype="multipart/form-data"> <div class="col-md-6"> <div class="form-group"> <label>Titulo:</label> <input class="form-control" name="dep_name" value="<?= $TblDepartment['dep_name']; ?>" placeholder="Exemplo: Globo City" autocomplete="off" required> </div> </div> <div class="col-md-6"> <div class="form-group"> <label>Telefone:</label> <input class="form-control telefone" name="dep_phone" value="<?= $TblDepartment['dep_phone']; ?>" placeholder="Exemplo: (00) 0000-0000" autocomplete="off"> </div> </div> <div class="col-md-6"> <div class="form-group"> <label>WhatsApp:</label> <input class="form-control whatsapp" name="dep_whatsapp" value="<?= $TblDepartment['dep_whatsapp']; ?>" placeholder="Exemplo: (00) 0.0000-0000" autocomplete="off"> </div> </div> <div class="col-md-6"> <div class="form-group"> <label>Fax:</label> <input class="form-control" name="dep_fax" value="<?= $TblDepartment['dep_fax']; ?>" placeholder="Exemplo: (00) 0000-0000" autocomplete="off"> </div> </div> <div class="form-group"> <label>Seção de FAQ:</label> <table id="fqSection" class="table table-bordered table-striped"> <thead> <tr> <th style="width:50%;">Titulo</th> <th>Contente</th> <th>Ação</th> </tr> </thead> <tbody> <?php //Departamento FAQ $QueryDepartamentoFaq = DBRead('tbl_department_faq','*',"WHERE dep_id='{$dep_id}'"); if (is_array($QueryDepartamentoFaq)) { foreach ($QueryDepartamentoFaq as $Fa) { $arr_fq_id[] = $Fa['fq_id']; $arr_fq_title[] = $Fa['fq_title']; $arr_fq_content[] = $Fa['fq_content']; }} if(isset($arr_fq_title)): for($i=0;$i<count($arr_fq_title);$i++) { ?> <tr> <td> <input autocomplete="off" type="text" class="form-control" style="width:100%" name="fq_title" value="<?= $arr_fq_title[$i]; ?>"> </td> <td> <textarea class="form-control" cols="30" rows="10" style="width:100%;height:50px;" name="fq_content"><?= $arr_fq_content[$i]; ?></textarea> </td> <td> <span class="btn btn-danger btn-xs"><a onclick="DeletarItem(<?= $arr_fq_id[$i]; ?>, 'DeletarFaq');" href="#!" style="color: #fff;">Excluir</a></span> </td> </tr> <?php //}} } endif; ?> </tbody> </table> <!-- Aqui para criar novos input para serem gravado no banco caso seja preciso --> <input type="button" class="btn btn-info btn-small" id="btnAddFaq" value="+ Adicionar linha" style="margin-bottom:10px;"> </div> <center><hr> <button class="btn btn-primary">Atualizar</button> <br><br> </center> </div> </form> <?php } } ?> Bom ai esta apenas um pouco do form tem mais coisa que seria igual o que preciso resolver Agora a parte do PHP que preciso resolver, vou posta apenas uma parte para poder entender tbm <?php // Atualizar Item de Departamento if (isset($_GET['Atualizar'])) { $dep_id = get('Atualizar'); $fq_empty = 0; if( !empty($_POST['fq_title']) && !empty($_POST['fq_content']) ) { $fq_empty = 1; foreach ($_POST['fq_title'] as $value) { //Sempre mostra o erro nesta linha $arr1[] = $value; } foreach ($_POST['fq_content'] as $value) { //Sempre mostra o erro nesta linha $arr2[] = $value; } $j=0; for($i=0;$i<count($arr1);$i++) { //Sempre mostra o erro nesta linha if($arr1[$i]=='' && $arr2[$i]=='') {continue;} else { $new_arr1[$j] = $arr1[$i]; $new_arr2[$j] = $arr2[$i]; $j++; } } } $AtualizarDepartment = array( 'dep_name' => post('dep_name'), 'dep_slug' => UrlAmigavel(post('dep_name')), 'dep_detail' => post('dep_detail'), 'dep_address' => post('dep_address'), 'dep_phone' => post('dep_phone'), 'dep_whatsapp' => post('dep_whatsapp'), 'dep_fax' => post('dep_fax'), 'dep_email' => post('dep_email'), 'meta_title' => post('dep_name'), 'meta_keyword' => post('meta_keyword'), 'meta_description' => LimitarTexto(post('dep_detail'),'200','...') ); $QueryTblDepartment = DBUpdate('tbl_department', $AtualizarDepartment, "dep_id = '{$dep_id}'", TRUE); if ($QueryTblDepartment != 0) { Redireciona('?sucesso&Department'); } else { Redireciona('?erro&Department'); } // Atualizar tbl_department_faq if($fq_empty == 1) { for($i=0;$i<count($new_arr1);$i++) { $TblDepartmentFaq = array( 'fq_title' => $new_arr1[$i], 'fq_content' => $new_arr2[$i], 'dep_id' => $dep_id ); $QueryTblDepartmentFaq = DBUpdate('tbl_department_faq', $TblDepartmentFaq, "dep_id = '{$dep_id}'"); } } if ($QueryTblDepartmentFaq != 0) { Redireciona('?sucesso&AtualizarFaq'); } else { Redireciona('?erro&AtualizarFaq'); } // Criar Novo input para tbl_department_faq if($fq_empty == 1) { for($i=0;$i<count($new_arr1);$i++) { $SqlFaq = array( 'fq_title' => $new_arr1[$i], 'fq_content' => $new_arr2[$i], 'dep_id' => $QueryTblDepartment ); $QueryFaq = DBRead('tbl_department_faq', $SqlFaq); } } if ($QueryFaq != 0) { Redireciona('?sucesso&Faq'); } else { Redireciona('?erro&Faq'); } } Neste caso ao mesmo tempo que teria que atualizar a tbl_department_faq faq_id titulo conteudo dep_id <-- Aqui onde pega tbm o id da tabela tbl_department Ele precisa grava caso seja preciso criar nova linha ou seja criar novo input para atualizar junto entende? Pessoal espero que eu tenha sido bem objetivo aqui para que possam entender.... Desde já agradeço
-
pode usar desta forma também caso desejar // Limita Quantidade de Caracteres function LimitarTexto($texto, $limite, $final = null, $quebra = false){ $tamanho = strlen($texto); if($tamanho <= $limite){ $texto; } else { if($quebra == true){ $texto = trim(substr($texto, 0, $limite))."..."; } else { $ultimo_espaco = strrpos(substr($texto, 0, $limite), " "); $texto = trim(substr($texto, 0, $ultimo_espaco))."..."; } } return $texto; } <?php $MeuTexto = 'Lorem ipsum dolor sit amet, omnis signiferumque in mei, mei ex enim concludaturque. Senserit salutandi euripidis no per, modus maiestatis scribentur est an. '; ?> <!-- Onde esta 80 você defina a quantidade de caracteres vai aparecer --> <?= LimitarTexto($MeuTexto,'80','...'); ?> Espero ter ajudado.....
- 3 respostas
-
- encurtamento
- truncar
-
(e mais 1 )
Tags:
-
Enviar arquivo de uma pasta para e-mail
Jack Oliveira postou uma questão Perguntas e respostas rápidas
Ola galera boa noite Pessoal preciso enviar um arquivo por e-mail, onde o sistema faz backups do banco de dados manual e automatico preciso que seja enviado apenas o sql que for gerado tanto manual quanto automatico ambos esta fazendo o backups normalmente sem problemas Segue o código a baixo <?php session_start(); require_once('../../database/config.php'); require_once('../../database/config.database..php'); require_once('../../includes/funcoes.php'); require_once('controller.php'); if (!is_dir('../../backups')) { @mkdir('../../backups', 0777, true); } $name_backup = "Backups_" . date("ymdHis"); $querySQL = DBCreate('backups', [ 'name' => "Banco_de_dados_" . $name_backup, 'type' => 'sql', 'status' => 'Iniciado' ], true); $queryZIP = DBCreate('backups', [ 'name' => "Arquivos_ZIP_" . $name_backup, 'type' => 'zip', 'status' => 'Iniciado' ], true); try { require_once("Mysqldump.php"); $dump = new Ifsnop\Mysqldump\Mysqldump('mysql:host=' . DB_HOSTNAME . ';dbname=' . DB_DATABASE . '', '' . DB_USERNAME . '', '' . DB_PASSWORD . ''); $dump->start("../../backups/Banco_{$name_backup}.sql"); if (file_exists("../../backups/Banco_{$name_backup}.sql")) { DBUpdate('backups', array('status' => 'concluido'), "id = '{$querySQL}'"); } } catch (\Exception $e) { $return = [ "title" => "Oops!", "msg" => "Erro ao exportar banco de dados.", "icon" => "error" ]; DBUpdate('backups', array('status' => 'Erro ao exportar banco de dados'), "id = '{$querySQL}'"); Redireciona('?erro'); } try { $filename = "Arquivos_ZIP_{$name_backup}.zip"; $rootPath = realpath('../../wa/'); $zip = new ZipArchive(); $zip->open("../../backups/$filename", ZipArchive::CREATE | ZipArchive::OVERWRITE); $files = new RecursiveIteratorIterator( new RecursiveDirectoryIterator($rootPath), RecursiveIteratorIterator::LEAVES_ONLY ); foreach ($files as $name => $file) { if (!$file->isDir()) { $filePath = $file->getRealPath(); $relativePath = substr($filePath, strlen($rootPath) + 1); $zip->addFile($filePath, $relativePath); } } $zip->close(); } catch (\Exception $e) { $return = [ "title" => "Oops!", "msg" => "Erro ao criar arquivo de backup no formato zip!", "icon" => "error" ]; DBUpdate('backups', array('status' => 'Erro ao criar arquivo de backup no formato zip'), "id = '{$queryZIP}'"); } DBUpdate('backups', array('status' => 'concluido'), "id = '{$queryZIP}'"); if (empty($return)) { $return = [ "title" => "Deu Certo!", "msg" => "Backup Realizado com Sucesso!", "icon" => "success" ]; } echo json_encode($return); if (!empty(getConfigBackup('mail_notify'))) { @require_once('../../controller/class.phpmailer/PHPMailerAutoload.php'); $mail = new PHPMailer(); $mail->CharSet = "UTF-8"; $mail->isSMTP(true); $mail->SMTPSecure = getConfigBackup('mail_seguranca'); $mail->Host = getConfigBackup('mail_host'); $mail->Username = getConfigBackup('mail_email'); $mail->Password = getConfigBackup('mail_senha'); $mail->Port = getConfigBackup('mail_porta'); $mail->From = getConfigBackup('mail_email'); $mail->FromName = ConfigPainel('site_nome'); $mail->Subject = "Seu Backup está pronto!"; if (strstr(getConfigBackup('mail_notify'), ';')) { $email = explode(';', getConfigBackup('mail_notify')); foreach ($email as $key => $value) { $mail->AddAddress($value); } } else { $mail->AddAddress(getConfigBackup('mail_notify')); } $dados = "Olá, o Backup do painel " . ConfigPainel('site_nome') . " foi realizado com sucesso. Ele está disponível em seu dashboard na área de backups. Acesse o Painel para Gerenciar seus backups."; $mail->Body = "<div id='m_-7598057918015146334m_-2331253013811829785wrapper' dir='ltr' style='background-color:#f7f7f7;margin:0;padding:70px 0 70px 0;width:100%'> <table border='0' cellpadding='0' cellspacing='0' height='100%' width='100%'> <tbody> <tr> <td align='center' valign='top'> <div id='m_-7598057918015146334m_-2331253013811829785template_header_image'></div> <table border='0' cellpadding='0' cellspacing='0' width='600' id='m_-7598057918015146334m_-2331253013811829785template_container' style='background-color:#ffffff;border:1px solid #dedede;border-radius:3px!important'> <tbody> <tr> <td align='center' valign='top'> <table border='0' cellpadding='0' cellspacing='0' width='600' id='m_-7598057918015146334m_-2331253013811829785template_header' style='background-color:#333333;border-radius:3px 3px 0 0!important;color:#ffffff;border-bottom:0;font-weight:bold;line-height:100%;vertical-align:middle;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif'> <tbody> <tr> <td id='m_-7598057918015146334m_-2331253013811829785header_wrapper' style='padding:36px 48px;display:block'> <h1 style='color:#ffffff;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:30px;font-weight:300;line-height:150%;margin:0;text-align:left'>Backup Realizado com sucesso</h1> </td> </tr> </tbody> </table> </td> </tr> <tr> <td align='center' valign='top'> <table border='0' cellpadding='0' cellspacing='0' width='600' id='m_-7598057918015146334m_-2331253013811829785template_body'> <tbody> <tr> <td valign='top' id='m_-7598057918015146334m_-2331253013811829785body_content' style='background-color:#ffffff'> <table border='0' cellpadding='20' cellspacing='0' width='100%'> <tbody> <tr> <td valign='top' style='padding:48px'> <div id='m_-7598057918015146334m_-2331253013811829785body_content_inner' style='color:#636363;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:14px;line-height:150%;text-align:left'> <p style='margin:0 0 16px'></p> $dados </div> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> </div>"; $mail->IsHTML(true); $mail->Send(); $mail->ClearAllRecipients(); $mail->ClearAttachments(); } Lembrando so ser enviado o que for sql Ex: Banco_de_dados_Backups_210412193634.sql SQL_Backup_210412180942.sql Conforme for gerando o backups no create tem type sql Não sei isso vai ajudar em algo mais a tabela backups esta assim INSERT INTO `backups` (`id`, `name`, `type`, `created_at`, `status`) VALUES (1, 'SQL_Backup_210412180942', 'sql', '2021-04-12 21:09:42', 'concluido'), (2, 'ZIP_Backup_210412180942', 'zip', '2021-04-12 21:09:42', 'Iniciado'), (3, 'Banco_de_dados_Backups_210412193634', 'sql', '2021-04-12 22:36:34', 'concluido'), (4, 'Arquivos_ZIP_Backups_210412193634', 'zip', '2021-04-12 22:36:34', 'Iniciado'); Se puderem da esta ajuda fico grato -
Verificar se já existe o nome cadastro no banco de dados
Jack Oliveira postou um tópico no fórum PHP
Boa noite pessoal Quero fazer uma verificação em tempo real no banco de dados antes de clicar para cadastra, ver se o nome que esta no input name="nome_empresa_link" ver se ele já existe no banco de dados. no caso so permitir preencher outro campos se o input que esta sendo verificado estiver correto ou seja tudo ok... Lembrando este input ele é preenchido conforme é digitado no input name="nome_empresa" Não sei se isso interfere ao fazer a verificação HTML <div class="col-md-6"> <div class="form-group"> <label for="nome_empresa">Nome</label> <input type="text" autocomplete="off" id="nome_empresa" maxlength="100" name="nome_empresa" class="form-control input_nome_empresa" required placeholder="Nome da Loja"> </div> </div> <div class="col-md-6"> <div class="form-group"> <label for="nome_empresa_link">Url Amigavél</label> <em id="resposta"></em> <input type="text" autocomplete="off" id="nome_empresa_link" name="nome_empresa_link" maxlength="100" class="form-control input_nome_empresa_link" required placeholder="/ Use maiúsculas, minúsculas e underline."> <?= $site; ?><span><em style="color: green;" id="nome_empresa_link"></em>/</span> </div> </div> No PHP fazer verificação fiz isso... <?php if(isset($_POST['nome_empresa_link'])) { $nome_empresa_link=$_POST['nome_empresa_link']; $checkdata = DBCount('ws_empresa','nome_empresa_link',"WHERE nome_empresa_link = '{$nome_empresa_link}'"); if ($checkdata >= 0) { //echo "Um nome igual este já esta sendo usado no sistema"; swal('Atenção!!!', 'A URL AMIGAVÉL não disponivél para cadastro \n tente com outro nome!', 'warning', 'Fechar'); } /*else { echo "<font color='green'>Disponivél...</font>"; } */ exit(); } ?> No ajax fiz assim <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script language="javascript"> var nome_empresa_link = $("#nome_empresa_link"); nome_empresa_link.blur(function() { $.ajax({ url: 'notificacao/checkdata.php', type: 'POST', data:{"nome_empresa_link" : nome_empresa_link.val()}, success: function(data) { console.log(data); data = $.parseJSON(data); $("#resposta").text(data.nome_empresa_link); } }); }); </script> Só que não retorna nada -
Ola pessoal bom dia Bom estou tentando fazer um formulario de cadastros com ajax mais sempre me retorna o erro uma msg que definir caso não esteja fazendo Houve um erro ao fazer o seu cadastro, tente novamente! Mais já olhei tudo que podia não há porque dar erro pois esta sendo colocando os campos certos para cadastrar No Ajax esta da seguinte forma <script> $(function(){ $('.form').submit(function(){ $('.loading').html("<img src='loading.gif' width='45'>"); $.ajax({ url: '<?= ConfigPainel('site_url');?>controlers/cadastro_empresa_users.php', type: 'POST', data: $('.form').serialize(), success: function(data){ $('.mostrar').html(data); $('.loading').hide(); $('.form')[0].reset(); } }); return false; }); }); </script> no html no form fiz assim pegando a class form do ajax creio que não há nada de errado aqui <form action="" method="post" enctype="multipart/form-data" class="form"> no php esta assim <?php header('Access-Control-Allow-Origin: *'); require_once ('../admin/database/config.php'); require_once ('../admin/database/config.database..php'); require_once ('../admin/database/config.session.php'); require_once ('../admin/includes/funcoes.php'); if($_POST){ if(empty($_POST['user_name']) || empty($_POST['user_lastname']) || empty($_POST['user_email']) || empty($_POST['user_telefone']) || empty($_POST['user_password']) || empty($_POST['user_plano']) || empty($_POST['nome_empresa']) || empty($_POST['nome_empresa_link'])){ echo '<script> $(document).ready(function(){ swal("Ops...","Preencha todos os campos obrigatórios!","warning"); }); </script>'; }else{ // INICIO PASSANDO PARA ARRAY DO USUARIO. $user_name = post('user_name'); $user_lastname = post('user_lastname'); $user_email = post('user_email'); $user_telefone = post('user_telefone'); $user_password = md5(post('user_password')); $user_plano = post('user_plano'); $user_level = 3; $user_registration = date('Y-m-d H:i:s'); // FIM ARRAY DO USUARIO. $QueryC = DBRead('configuracoes_site','*'); if (is_array($QueryC)) { foreach ($QueryC as $CONF) { //Teste $DiasDeTeste = $CONF['dias_testes']; //Plano 1 $nome_plano_um = $CONF['nome_plano_um']; $v_plano_um = $CONF['v_plano_um']; $dias_plano_um = $CONF['dias_plano_um']; //Plano 2 $nome_plano_dois = $CONF['nome_plano_dois']; $v_plano_dois = $CONF['v_plano_dois']; $dias_plano_dois = $CONF['dias_plano_dois']; //Plano 3 $nome_plano_tres = $CONF['nome_plano_tres']; $v_plano_tres = $CONF['v_plano_tres']; $dias_plano_tres = $CONF['dias_plano_tres']; }} //INICIO PASSANDO PARA ARRAY DA EMPRESA $nome_empresa = post('nome_empresa'); $nome_empresa_link = post('nome_empresa_link'); $end_uf_empresa = post('end_uf_empresa'); $cidade_empresa = post('cidade_empresa'); $end_bairro_empresa = post('end_bairro_empresa'); $end_rua_n_empresa = post('end_rua_n_empresa'); $email_empresa = post('user_email'); $telefone_empresa = preg_replace("/[^0-9]/", "", post('user_telefone')); $empresa_data_renovacao = date("Y-m-d", strtotime("+{$DiasDeTeste} days")); $QueryE = DBRead('estados','*',"WHERE id='{$end_uf_empresa}'"); if (is_array($QueryE)) { foreach ($QueryE as $ES) { $uf_empresa = $ES['sigla']; }} $QueryU = DBRead('ws_users','*',"WHERE user_plano='{$user_plano}'"); if (is_array($QueryU)) { foreach ($QueryU as $USER) { $UserPlano = $USER['user_plano']; }} switch ($UserPlano) { case '1': $Planos = $nome_plano_um; $Valor = 'R$:'.$v_plano_um.''; $Dias = 'Assinatura de '.$dias_plano_um.' dias'; break; case '2': $Planos = $nome_plano_dois; $Valor = 'R$:'.$v_plano_dois.''; $Dias = 'Assinatura de '.$dias_plano_dois.' dias'; break; case '3': $Planos = $nome_plano_tres; $Valor = 'R$:'.$v_plano_tres.''; $Dias = 'Assinatura de '.$dias_plano_tres.' dias'; break; default: $Planos = 'Plano Teste'; $Valor = 'Bônus R$: 21,00'; $Dias = 'Assinatura de '.$empresa_data_renovacao.' dias grátis'; break; } $Adicionar = array( 'user_name' => $user_name, 'user_lastname' => $user_lastname, 'user_email' => $user_email, 'user_telefone' => $user_telefone, 'user_password' => $user_password, 'user_plano' => $user_plano, 'user_level' => 3, 'user_registration' => $user_registration ); $Query = DBCreate('ws_users', $Adicionar); $Adicionar = array( 'nome_empresa' => $nome_empresa, 'nome_empresa_link' => $nome_empresa_link, 'end_uf_empresa' => $uf_empresa, 'cidade_empresa' => $cidade_empresa, 'end_bairro_empresa' => $end_bairro_empresa, 'end_rua_n_empresa' => $end_rua_n_empresa, 'email_empresa' => $email_empresa, 'telefone_empresa' => $telefone_empresa, 'empresa_data_renovacao' => $empresa_data_renovacao ); $Query = DBCreate('ws_empresa', $Adicionar); if ($Query != 0) { echo' <script> $(document).ready(function(){ swal("Ops '.utf8_encode($user_name).'...","Houve um erro ao fazer o seu cadastro, tente novamente!", "error"); }); </script>'; }else{ echo' <script> $(document).ready(function(){ swal("Sucesso '.utf8_encode($user_name).'...", "Seu cadastro foi realizado com sucesso.<br><a href="./login/Acessar"><button class="btn btn-default btn-sm"></button>Fazer Login...</a>", "success") }); </script>'; } } } Posso esta deixando passar algo no php que não estou vendo o problema....
-
Ola ygor bom dia bom eu tirei o switch e deu certo talvez as variavel não esta passando por ele, mais de outra deu certo... e mudei a ordem aqui if ($QueryUser != 0 || $Query != 0) { echo' <script> $(document).ready(function(){ swal("Sucesso '.utf8_encode($user_name).'...", "Seu cadastro foi realizado com sucesso.<br><a href="./login/Acessar"><button class="btn btn-default btn-sm"></button>Fazer Login...</a>", "success") }); </script>'; }else{ echo' <script> $(document).ready(function(){ swal("Ops '.utf8_encode($user_name).'...","Houve um erro ao fazer o seu cadastro, tente novamente!", "error"); }); </script>'; } Tenho um outro porem aqui que não estou conseguindo grava o id da tabela ws_users na tabela ws_empresa no campo user_id das duas tabelas é gravadas ao mesmo tempo entende? esta da seguinte forma $Adicionar = array( 'user_name' => $user_name, 'user_lastname' => $user_lastname, 'user_email' => $user_email, 'user_telefone' => $user_telefone, 'user_password' => $user_password, 'user_plano' => $user_plano, 'user_level' => 3, 'user_registration' => $user_registration ); $QueryUser = DBCreate('ws_users', $Adicionar); $QueryUser = $QueryUser[0]; unset($QueryUser['user_id']); $Adicionar = array( 'nome_empresa' => $nome_empresa, 'user_id' => $QueryUser, //grava o id do ws_users na tabela ws_empresa 'nome_empresa_link' => $nome_empresa_link, 'end_uf_empresa' => $uf_empresa, 'cidade_empresa' => $cidade_empresa, 'end_bairro_empresa' => $end_bairro_empresa, 'end_rua_n_empresa' => $end_rua_n_empresa, 'email_empresa' => $email_empresa, 'telefone_empresa' => $telefone_empresa, 'empresa_data_renovacao' => $empresa_data_renovacao ); $Query = DBCreate('ws_empresa', $Adicionar); Fiz de algumas formas e não deu então fiz assim $QueryUser = $QueryUser[0]; unset($QueryUser['user_id']); para ver se grava e não deu tbm
-
Ola pessoa se a minha duvida estiver no topic errado pessoa desculpas Mais é o seguinte fiz uns arquivos formato json funciona perfeitamente porem alguns deles tem opção de abrir modal para cadastro e edição mais eles não esta abrindo DataTable Se eu fazer sem usar datatable direto no arquivo ele abre o script esta da seguinte forma <script type="text/javascript"> $(function () { $("#DataTableAjax").DataTable({ "pageLength": 25, "processing": true, "serverSide": true, "ajax": "ajax/<?php echo $UrlPage; ?>", "aLengthMenu": [ [5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 100, -1], [5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 100, "Todos"] ], "paging": true, "lengthChange": true, "searching": true, "ordering": true, "info": true, "autoWidth": true, "columnDefs": [{ "targets": 'no-sort', "orderable": false, }], "language": { "sEmptyTable": "Nenhum registro encontrado", "sInfo": "Mostrando de _START_ até _END_ de _TOTAL_ registros", "sInfoEmpty": "Mostrando 0 até 0 de 0 registros", "sInfoFiltered": "(Filtrados de _MAX_ registros)", "sInfoPostFix": "", "sInfoThousands": ".", "sLengthMenu": "Mostrar _MENU_ resultados por página", "sLoadingRecords": "Carregando...", "sProcessing": "Processando...", "sZeroRecords": "Nenhum registro encontrado", "sSearch": "Pesquisar", "oPaginate": { "sNext": "Próximo", "sPrevious": "Anterior", "sFirst": "Primeiro", "sLast": "Último" }, "oAria": { "sSortAscending": ": Ordenar colunas de forma ascendente", "sSortDescending": ": Ordenar colunas de forma descendente" } } }); }); </script> Bom acho que o arquivo a seguir não tem nada a ver, mais irei colocar mesmo assim. Na parte onde se o arquivo ajax/lojas.php que seria em formato json esta assim <?php return ob_get_clean(); } ), array( 'db' => 'id_empresa', 'dt' => 10, 'formatter' => function ($id_empresa, $row) { ob_start(); $ImprimirPermissao = GetPermissaoAcesso(); ?> <?php if (checkPermissao($ImprimirPermissao, 'lojas', 'produto', 'renovar')) { ?> <a class="btn btn-primary" href="#" data-toggle="modal" data-target="#modalRenovar_<?= $row['id_empresa'];?>"><i title="Nova data de renovação" class="fa fa-calendar" aria-hidden="true"></i></a> <?php } ?> Modal assim <?php $Query = DBRead('lojas','*'); if (is_array($Query)) { foreach ($Query as $dados) { ?> <div class="modal fade" id="modalRenovar_<?= $id_empresa;?>" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> <div class="modal-dialog modal-lg" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title" id="myModalLabel"><b>LOJA: </b><?= $nome_empresa;?></h4> </div> <div class="modal-body"> <form method="post" action="?AtualizarEmpresa=<?= $id_empresa; ?>" enctype="multipart/form-data"> <div class="form-group"> <label>Nova data:</label> <input class="form-control" type="date" name="empresa_data_renovacao" required placeholder="00/00/0000"> </div> </div> <div class="modal-footer"> <input type="hidden" name="user_id" value="<?=$user_id;?>"> <center><hr> <button class="btn btn-primary">Atualizar</button> <br><br> </center> </form> </div> <div class="modal-footer"> </div> </div> </div> </div> <?php }} ?>
-
Buscar nome entre 3 tabelas conforme for id
Jack Oliveira postou uma questão Perguntas e respostas rápidas
Ola pessoal boa noite, não sabia qual área posta este post então resolvi fazer aqui mesma resposta rapidas Gostaria de ajuda de vocês se assim for possível.. é o seguinte tenho o seguintes input´s <div class="col-md-6"> <div class="form-group"> <label>Insira o ID do (Armor, Weapon, EtcItem) que deseja:</label> <button class="btn btn-sm behance text-white" data-toggle="modal" data-target="#ItemArmor"><i class="icon-question-circle"></i>Armor</button> <button class="btn btn-sm behance text-white" data-toggle="modal" data-target="#ItemWeapon"><i class="icon-question-circle"></i>Weapon</button> <button class="btn btn-sm behance text-white" data-toggle="modal" data-target="#ItemEtcItem"><i class="icon-question-circle"></i>EtcItem</button> <input class="form-control" name="item_id" required> </div> </div> <div class="col-md-6"> <div class="form-group"> <label>Nome Item: <small>usado apenas para identificação no administrador.</small></label> <input class="form-control" name="name" readonly> </div> </div> Tenho o input onde será colocando o id do item desejado pois então fiz três modal listando alguns id´s das tabelas conforme mostra ai Porem preciso que quando o id for colocando dentro do input name="item_id" Que o nome deste item seja preenchido no input name="name" sem precisar ter que digitar Lembrando que esta busca tem que ser das 3 tabelas ARMOR, WEAPON e ETCITEM cada tabela tem os mesmo campo iguais item_id name espero que possam entender o que desejo ai -
Ola bom dia Motta obrigado por responder... Tentei o que me passou ai mais da o mesmo erro de syntax check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELECT cl.clan_id, SUM(pvpkills) AS pvps, SUM(pkkills) AS pks , sum(pvpkills+pkk' at line 1 Então as tabelas seria mais o menos isso aqui Pelo o menos o que estou usando é estes campos que há nela Tabela clan_data clan_level clan_name reputation_score Tabela characters pvpkills pkkills Consegui da seguinte forma $QueryClan = DBRead('clan_data','*',"ORDER BY clan_id DESC LIMIT {$LIMIT}"); if (is_array($QueryClan)) { foreach ($QueryClan as $Clan) { $IDCLAN = $Clan['clan_id']; $QueryCharactersClan = DBRead('characters','*',"WHERE clanid = '{$IDCLAN}' ORDER BY pvpkills, pkkills DESC LIMIT 1"); if (is_array($QueryCharactersClan)) { foreach ($QueryCharactersClan as $res_Clan) { $Pvp = $res_Clan['pvpkills']; $Pk = $res_Clan['pkkills']; }} $TotalPvpPk = ($Pvp + $Pk); Passando direto não muito organizada como deveria ser... mais ate conseguir uma maneira deixarei assim... Se mais alguém tiver uma boa solução de como usar o código corretamente fico grato.
-
Ola pessoa boa noite Estou fazendo uns select com mais de um deles e não esta dando certo de fazer da erro na página Segue o código <? $QueryCharactersClan = DBRead("SELECT cl.*,(SELECT SUM(pvpkills) FROM characters WHERE cl.clan_id = clanid) AS pvps,(SELECT SUM(pkkills) FROM characters where cl.clan_id = clanid) AS pks FROM clan_data AS cl ORDER BY pvps+pks DESC LIMIT {$LIMIT}"); $linhaS = 0; if (is_array($QueryCharactersClan)) { foreach ($QueryCharactersClan as $res_Clan) { $res_Clan['pvps'] = empty($res_Clan['pvps']) ? $res_Clan['pvps'] = '0' : $res_Clan['pvps']; $res_Clan['pks'] = empty($res_Clan['pks']) ? $res_Clan['pks'] = '0' : $res_Clan['pks']; $linhaS++; // incrementa a cada passagem } } ?> este é a msg de erro You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELECT cl.*,(SELECT SUM(pvpkills) FROM characters WHERE cl.clan_id = clanid) AS ' at line 1 Desde já agradeço se puderem me ajudar