Jump to content

Omar~

Members
  • Content count

    716
  • Joined

  • Last visited

  • Days Won

    15

Omar~ last won the day on May 27 2018

Omar~ had the most liked content!

Community Reputation

87 Bom

2 Followers

About Omar~

  • Rank
    Knowledge is everything
  • Birthday 04/20/1984

Informações Pessoais

  • Sexo
    Masculino
  • Localização
    Nova Venécia (ES)

Recent Profile Visitors

2743 profile views
  1. Omar~

    Pesquisa e paginação com o PHP não funcionam

    Olha não vou está analisando seu código, mas vou lhe dar as ferramentas necessárias para o entendimento. Para executar-mos uma paginação de precisamos usar o LIMIT e o OFFSET em nossa query. O "LIMITE" vai determinar quantos resultados vão aparecer. O OFFSET vai determinar de qual índice vai mostrar os resultados. Digamos então que temos a tabela centroautomotivo nela temos 10 registros. No genérico nossa query: SELECT * FROM centroautomotivo LIMIT 3 OFFSET 1 Isso quer dize que terei os três(3) resultados a partir do primeiro(1). Então para que minha paginação funcione eu tenho que sempre aumentar o OFFSET em relação ao LIMIT. Assim sendo a próxima consulta deverá ficar: SELECT * FROM centroautomotivo LIMIT 3 OFFSET 4 Ou seja exibindo três resultados mas a partir do quarto índice porque os três primeiros já vimos com a query anterior. E por assim adiante. E como informar esse OFFSET corretamente? Através de links, por exemplo: <a href="arquivo.php?offset=1">Página 1</a> <a href="arquivo.php?offset=4">Página 2</a> Então temos a super global $_GET com o índice "offset" que poderemos usar para fazer a consulta. Ou seja sempre o OFFSET da query será o que for informado pela url. O ideal para que uma paginação funcione sem dores de cabeça é fazer uma consulta prévia para somente informar índices com o total de resultados, filtrar e tratar esses get's de entrada para evitar danos ao DB.
  2. Omar~

    Preciso de Ajuda com Orientação a Objeto - PHP

    Olha, não me preocupo com tais circunstâncias, classes filhas podem acessar atributos ou métodos de suas classes mães por ambas formas desde-que os mesmo não sejam privados. Mesmo que $this possa acessar métodos é mais estético usar o parent pois assim você sabe que está acessando método e não um atributo. Use o $this somente mesmo para acessar atributos das classes mães. Uma coisa que você deve saber que o construtor de uma classe vale para qualquer outra classe que é estendida a ela. <?php class AbstractDB { protected $retorno; public $retornoB; function __construct() { $this->retorno = 'Minha finha herda minha construção'; } protected function rB() { $this->retornoB = 'Acesso ao atributo'; } } class Db extends AbstractDB { public function exemplo() { return $this->retorno; } public function acessoB() { parent::rB(); } } $obj = new Db(); var_dump($obj->exemplo()); $obj->acessoB(); var_dump($obj->retornoB);
  3. Omar~

    Variavel indefinida: sexo

    E qual seria a linha 66? Seria essa? Bem, nesse caso crie a variável antes de usar-la. <?php $sexo = isset($sexo) ? $sexo : false; // Mesmo que a variável original não exista criamos ela falsa mesmo assim ela sempre vai existir <input type="radio" name="sexo" id="sexo" value="M" <?= ($sexo=="M" ? "checked" : null) ?> /> Masculino Dica para usar o fórum.... Se seu problema é o PHP não poste toda estrutura HTML nem entradas de CSS, isso atrapalha quem quer lhe ajudar.
  4. @Jack Oliveira Hun... Eu usaria o modelo assim: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?entrada=$1 Então tudo que vem na url depois do endereço físico base passa a ser $_GET['entrada'] Assim sendo o get para isso sao_paulo/12/forum-imasters/123/ é uma string só. No entanto como temos que obter cada entrada temos que dividi-la em diferentes coisas. <?php $filtro = filter_input(INPUT_GET, 'entrada', FILTER_DEFAULT); // Identifica se é realmente uma super global GET $requisitado = empty($filtro) ? 'padrao' : $filtro; // Se exite assume o existente, do contrário o get será "padrao" $separa = explode('/', $requisitado); // Aqui separamos em índices a partir de todas ocorrências de barras $url = array_filter($separa); // Removemos então ídices nulos ou vazios do array Se dermos então var_dump($url) com a seguinte url "meusite.com/sao_paulo/12/forum-imasters/123/" teremos: Com isso fica simples manipular cada entrada na url, por exemplo se eu quiser remover o 12. unset($url[1]); No entanto como você disse não há necessidade desse 12. Então vamos supor que eu escreva o seguinte link, ao acessar-lo irei consultar no banco se os dados do link existe <a href="sao_paulo/outra_coisa">Exemplo</a> Ao redirecionar, quer dizer que url no índice zero é "sao_paulo" então eu uso essa informação $url[0] para fazer a consulta no banco de dados pelo nome da cidade. $query = "SELECT * FROM cidades WHERE titulo = '{$url[0]}'"; O ideal é que sempre manipule a entrada para transformar a string do índice em formato válido para o banco de dados, seja na hora de salvar, seja na hora de ler. Veja essa postagem: https://forum.imasters.com.br/topic/584706-transformar-uma-frase-em-formato-url/?do=findComment&amp;comment=2283669 Você terá que reestruturar seus databases para no caso usar JOINS, o nome de cada cidade deve está presente em db's que tem dados compartilhados, já que não quer usar o id. Uma coisa que me chamou atenção foi em uma query apresentada por você temos o seguinte trecho: Hora que nas estruturas de tabelas que você apresentou não existe a coluna indexar. Logo temos um erro de query.
  5. @Jack Oliveira Não entendi de onde vem as url's se são inseridas ou composta no html como links. Bom.. não sei o que esse "12" faz e qual a utilidade em: No entanto se ele for uma informação necessária você não pode ofuscar. Justamente porque irá precisar para fazer alguma coisa. Do contrário você poderá criar funções que filtrem a entrada da url, e remova dados desnecessários, mas se forem desnecessários a arquitetura da aplicação deve ser reavaliada, pois está criando algo não usável.
  6. Omar~

    Ordenação de letras e números

    Use a Array.prototype.sort() var array_desordenado = ['c', 'a', 'b', 9, 5, 3, 4, 2, 6, 8, 7, 1]; var array_ordenado = array_desordenado.sort(); console.log('Array desordenado: ' + array_desordenado); console.log('Array ordenado: ' + array_ordenado);
  7. Omar~

    seta que movimenta ao clique (accordion)

    Você diz seta inverter? Basicamente é alterar o elemento em questão alterando suas propriedades CSS. Dar uma olhada nisso esse accordion foi eu mesmo quem fiz: https://github.com/Spell-Master/sm-web/tree/master/javascript/Accordion
  8. Omar~

    Transformar uma frase em formato URL

    Primeiramente decodificar um STRING em formato url usamos urlencode Que no caso a string Alguém viu minha maçã? se transforma em um formato url aceitável sendo Algu%C3%A9m+viu+minha+ma%C3%A7%C3%A3%3F <?php $texto = urlencode('Alguém viu minha maçã?'); $textoB = urldecode($texto); echo("Texto codificado em url:" . "<p>{$texto}</p>" . "<hr />" . "<p>Texto decodificado da url</p>" . "{$textoB}"); Mas como você mesmo disse você precisa de um conversor de texto. Eu criei um método em uma classe para justamente fazer o que você espera só não posto o código porque o forum estragaria dados de string da mesma, pois o método em questão remove tudo que não for caractere aceitável. Então você terá que fazer o download: https://drive.google.com/file/d/1VHHiotb60BajGBdc9XoGsHONuXTu_Ylt/view?usp=sharing <?php require_once(__DIR__ . DIRECTORY_SEPARATOR . 'StrClean.php'); $clear = new StrClean(); $texto = $clear->formatStr('Alguém viu minha maçã?'); echo($texto); // Resultado: // Alguem-viu-minha-maca Veja também: echo(strtolower($texto)); // Resultado: // alguem-viu-minha-maca
  9. Sim... Manipulando o get: <?php $entrada = (isset($_GET['exemplo']) && !empty($_GET['exemplo']) ? $_GET['exemplo'] : false); switch($entrada) { case 'idx': $arquivo = 'arquivo_qualquer.php'; break; case 'outro_exemplo': $arquivo = 'outro_arquivo.php'; break; default: $arquivo = 'arquivo_padrao.php'; break; } include($arquivo); Isso ficaria no index.php, e toda vez que um parâmetro de url exemplo existir ele vai incluir o arquivo de acordo com o valor caso não um arquivo padrão é incluído. Então se a url for http://localhost?arquivo=idx&id=123 Quer dizer que arquivo_qualquer.php será incluído então o parâmetro id você poderá manipular-lo no arquivo aberto. Isso é uma questão de rotina quando trabalhamos com url's amigáveis.
  10. Omar~

    Cadastrar novos produtos.

    Faça leitura via back-end de um local de armazenamento, se existirem dados exiba eles.. Isso vai depender do back-end.... No caso esse fórum usa php, mysqli, e sql. No caso usar PDO é bem melhor do que mysqli. Nesse tópico mostrei um basicão e como utilizar PDO: https://forum.imasters.com.br/topic/565800-crud-introdução-a-pdo/ Nele mesmo temos um simples exemplo de inserir dados, também ler e ser exitem dados exibir-los. No mais você deve se aprofundar nos conceitos pois o guia é voltado para primeiro passo nesses quesitos, e jamais deve ser usados de tal forma em uma aplicação final.
  11. Omar~

    Gerador de texto

    Uai segue o mesmo conceito.... <button onclick="escrever('meu texto')"></button> <input id="aqui" /> <!-- caso não seja um input <div id="aqui"></div> --> <script> function escrever(parametro) { if (parametro) { document.getElementById('aqui').value = parametro; /* //caso não seja um input document.getElementById('aqui').innerText = parametro; */ } } </script>
  12. Omar~

    [Iniciante] Botão de Like

    Isso pode gerar uma quantidade enorme de SPAN.... Pode usar COOKIES para isso. Não existe forma precisa de regatar o IP, porque depende do servidor de acesso e não necessariamente o IP da máquina. Aí que está o problema pois é necessário back-end para tal ação.
  13. Omar~

    Problema com caracteres especiais - Outlook

    Certo... Reveja a codificação geral do seu projeto (Arquivos e cabeçalhos). Os arquivos devem está na codificação UTF-8 sem BOM. O charset deve ser UTF-8. Reveja a codificação da forma que os dados são criados. Exemplo: utf8_encode('Olá mundo'); Se os arquivos e cabeçalhos estiverem corretamente em uft-8 o encode se torna desnecessário. Outra forma é usar entidades html ao invés de codificação. htmlentities('Olá mundo');
  14. Omar~

    Integração com API SICOOB

    Usar nunca usei, mas acredito que as informações que você procura podem ser obtidas aqui: https://api.boletosimples.com.br/bank_contracts/sicoob/
  15. Omar~

    Logica para um sistema de mensagens em php e mysql

    Para deixar algo mais claro vamos de um exemplo (isso seria minha arquitetura você pode fazer conforme suas necessidades): Tabela CREATE TABLE `notificar` ( `status` ENUM('nova','antiga'), `usuario` int(9), `titulo` varchar(100) NOT NULL DEFAULT '', `dia` date NOT NULL, `mensagem` text ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; Em status temos a condicional nova e antiga. Toda vez que uma notificação é inserida ela vai como nova, então se o usuário a ver alteramos esse valor para antiga. Em usuario registramos o id da conta daquele usuário para que possamos fazer a consulta e somente ele receba sua notificação. Em titulo poderemos dar um título a notificação exemplo "Você tem uma notificação em blablabla" Em dia poderemos registrar a data que a notificação foi lançada. Em mensagem transcrevemos o conteúdo. Então para que somente o usuário específico receba suas notificações fazemos a consulta. "SELECT * FROM notificar WHERE usuario = '{$ID_DO_USUARIO}'" Esse $ID_DO_USUARIO pode ser uma cessão que o identifique.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.