Ir para conteúdo

Omar~

Members
  • Total de itens

    1325
  • Registro em

  • Última visita

  • Dias vencidos

    15

Tudo que Omar~ postou

  1. Aparentemente deveria tudo funcionar como tal, tentei reproduzir o problema e a única coisa de anormal é se algum índice do array estiver vazio. Depure os valores do array para ver: E veja se os índices possuem algum valor. De qualquer forma tente não usar a função ConfigPainel e escreva qualquer coisa aí para testar Estou disponibilizando o link para do teste que fiz para você testar aí. https://drive.google.com/file/d/1PSd5Nr2RYh8LKleIYnQgkymppf1lctcC/view?usp=sharing
  2. Bom, eu presumo que a linguagem back-end seja o PHP. Começando eu resumir o html só para alguns campos, mas já dar para ver como a coisa vai funcionar. Então o arquivo.html: Então criei uma classe que irá pegar onde tem no html {{ alguma_coisa }} e substituir por dados vindos de um arrray no php: Daí então é só criar um array onde os índices terá o mesmo nome contido no que tem no html entre as chaves {{}}, os valores que serão inseridos nada mais que os valores dos índices com o mesmo nome.
  3. Qual a linguagem back-end? Essa informação é vital. De qualquer forma a duas alternativas. 1 (A mais correta e sensata) Renderizar a página e entregar para o usuário tudo completo, acredito que conseguiria fazer algo para isso usando um arquivo .html e alimentando os dados através do PHP. 2 (O menos eficiente) Pré renderizar a página, pós seu carregamento redefinir todos os valores através do javascript. O problema disso é justamente você ter que renderizar um padrão e substituir tudo depois de carregado. É até simples demais porém ineficiente tanto em usabilidade quanto em desempenho. Aí você re-executa a coisa toda usando websocket
  4. Omar~

    NOTICE: UNDEFINED INDEX:

    Desculpe mas só agora fui ver a query rsrsrsr..... Se não indicar os índices que vão ser lidos, lógico que eles não vão existir.... Então você pode repassar os valores separados por virgula. SELECT bk_fantasia, bk_lote_del, bk_fc_ID FROM tab_for_sai WHERE bk_lote_del = 'BOM' ORDER BY bk_fantasia ASC Na via das dúvidas se for o caso você pode pegar todos os índices da tabela. Usando um "*" você diz na instrução: Selecione tudo na tabela SELECT * FROM tab_for_sai WHERE bk_lote_del = 'BOM' ORDER BY bk_fantasia ASC GROUP BY serve para agrupar resultados normalmente usado em join's, daí quando há resultados duplicados semelhantes ao qual pode-se agrupar os que são iguais em um único resultado.
  5. Omar~

    Vitrine com produtos classificados

    Você precisará fazer 2 tabelas ou 1 só, também precisará fazer 2 querys, ou uma só dar também. O negócio é que vamos precisar de 2 arrays um para a categoria outro para produto. Portanto se fazer 1 query terá que separar as categorias dos produtos. Então fazemos uma varredura primeiro no array de categoria e dentro dessa varredura varremos também o array de produtos, o segredo é comparar a referência. Veja como funciona a lógica: <?php $categorias = [ 0 => ['id' => 1, 'nome' => 'novidades'], 1 => ['id' => 2, 'nome' => 'sucessos'], 2 => ['id' => 3, 'nome' => 'vips'] ]; $produtos = [ 0 => ['id' => 1, 'categoria' => 1, 'nome' => 'Produto A'], 1 => ['id' => 2, 'categoria' => 2, 'nome' => 'Produto B'], 2 => ['id' => 3, 'categoria' => 3, 'nome' => 'Produto C'], 3 => ['id' => 4, 'categoria' => 1, 'nome' => 'Produto D'], 4 => ['id' => 5, 'categoria' => 3, 'nome' => 'Produto E'] ]; foreach ($categorias as $c) { echo ("<p>Atual laço de repetição {$c['id']}: {$c['nome']}</p>"); foreach ($produtos as $p) { if ($c['id'] == $p['categoria']) { echo ("<p>Produto: {$p['nome']}/ Categoria: {$c['nome']}</p>"); } } echo ("<hr />"); }
  6. Omar~

    NOTICE: UNDEFINED INDEX:

    Mas você está usando PDO ou msqli como extensão para conectar? Enfim se não está usando PDO deveria está usando.... Toda vez que ver UNDEFINED INDEX saiba que é um índice de algum array sendo usado quando ele não existe. Então podemos chegar a conclusão que o índice bk_fc_ID não existe. Pelo contexto sabemos que deveria ser o nome de uma das colunas da tabela tab_for_sai. Como aqui ninguém sabe como é a estrutura da tabela não podemos dizer como deveria ser esse índice ou se ele mesmo existe, mas acredito que o problema é que você transcreveu usando letras maiúsculas ao invés de minusculas, no entanto você mesmo pode depurar e chegar a solução por conta própria. Bastando apenas usar a função var_dump no resultado assim você terá como saber se existe, se está com erro, como é de fato e tudo mais, mais ou menos nesse sentido: <?php $select = $CALL->prepare( "SELECT bk_fantasia FROM tab_for_sai WHERE bk_lote_del = 'BOM' GROUP BY bk_fantasia ORDER BY bk_fantasia" ); $select->execute(); $resultado = $select->fetchAll(PDO::FETCH_ASSOC); <?php echo "<pre>"; var_dump($resultado); // Visualizar como é de verdade os dados obtidos (Mesmo que sejam erros) echo "</pre>"; foreach ($resultado as $valor) { echo "<p>{$valor['bk_fantasia']}</p>"; echo "<p>{$valor['bk_fc_id']}</p>"; // Acredito que deveria está transcrito em letras minúsculas } /* Tudo que estiver abaixo desse loop você deixa como comentário entre as aspas while ($user - $stmta->fecth()) */
  7. Omar~

    Variações / cor / tamanho

    Eu dispenso em faze JOIN em outra tabela quando não for necessário. Cada JOIN uma nova etapa do processamento, menos desempenho vamos ter. Se levar-mos ao pé da letra como devemos executar alguma coisa só vamos perder em desempenho. Por isso (DEPENDENDO DO AMBIENTE) é melhor registar numa única tabela e apenas lermos aquele ao invés "de dar banana ao macaco" e fazer voltas para uma coisa que deveria ser única. Não que a proposta de uma tabela extra esteja errada, mas como disse depende do ambiente da aplicação e talvez um único acesso seria o bastante para sanar uma simples questão.
  8. Omar~

    Conexao banco SQL com PHP

    Rapaz leia esse tópico https://forum.imasters.com.br/topic/565800-crud-introdução-a-pdo/ Tópico dedicado a iniciantes na conexão e manipulação do banco de dados através do PHP. É bem genérico mas é o ponteiro da bússola que aponta o norte para onde seguir. E bem vindo ao PHP.... Antes de mais nada, conexão com um banco mesmo que parente do PHP não tem haver uma coisa com outra.
  9. Omar~

    Editar site por area administrativa

    Veja se não existe um caractere binário invisível antes da declaração da variável. (caso tenha usando Crtl+C & Ctrl+V aqui do fórum com certeza deve ter). Nesse caso escreva o código a mão, ou use um editor capaz de interpretar esses caracteres. Verifique se você fechou o código anterior com um ponto-e-virgula. unexpected T_VARIABLE Diz que o PHP não espera aquela variável agora pois ainda não terminou de executar uma instrução anterior. Então quando ver isso, normalmente não está relacionado exatamente a instrução atual e sim a alguma coisa anterior.
  10. Omar~

    Variações / cor / tamanho

    Então seria uma cor distinta quando for P ou M ou G? <?php function defineCor($valor) { switch (strtolower($valor)) { case 'p': $cor = 'ff0000'; break; case 'm': $cor = '359107'; break; case 'g': $cor = '3b7fe7'; break; default: $cor = '000000'; break; } return ('#' . $cor); } ?> <div style="color:<?= defineCor('M') ?>">lorem ipsum dolor sit amet</div> Se for uma cor para cada registro, aí você tem que registrar essa cor junta a própria tabela seja lá qual for o que é para ter cor.
  11. Omar~

    Limitar palavras

    Repassei o que fiz e na lógica tudo funcionaria como previsto, então testei para realmente ver... E não é que funcionou como esperado! O resultado: Em caminho de...
  12. Omar~

    Limitar palavras

    Eu não testei mas deve funcionar: <?php function limitarPalavras($texto, $quantidade) { $textoArray = explode(' ', $texto, ($quantidade + 1)); if (count($textoArray) > $quantidade) { unset($textoArray[$quantidade]); } return (implode(' ', $textoArray) . '...'); } Então você chama a função informando por parâmetro "$texto" o texto que é para limitar a quantidade de palavras e como segundo parâmetro "$quantidade" você informa quantas palavras quer. Exemplo: $palavra = "Em caminho de paca tatu caminha dentro?"; echo limitarPalavras($palavra, 3); O que eu fiz, simplesmente quebrei o texto em um array separando cada palavra pelo espaço entre elas, mas a quantidade de índices desse array deve ser a quantidade que informamos +1 porque sempre o primeiro índice de um array é zero. Então se a quantidade de índices gerados pelo explode for maior que a quantidade, remove-se esse índice sobrando. Por fim com a o implode juntamos nosso array quebrado novamente em uma string.
  13. Omar~

    Variações / cor / tamanho

    Que tamanhos que categoria? O que você cadastra mesmo? Cor do que? Para o que? Ninguém vai ter se você não disser do que se trata Explica direito e não de forma branda/leviana para que nós possamos ter pelo menos uma mínima ideia do que de fato você está tentando alcançar. Porque o que você disse não diz coisa com coisa alguma...
  14. Realmente não existe outra alternativa a não ser a proposta inicial. Obrigado pela ajuda @Motta
  15. Estou com a tarefa de elaborar uma leitura no banco de dados e não estou conseguindo achar uma solução para a instrução de leitura. Basicamente tenho uma tabela que de produtos, nela tenho uma coluna para registrar o vendedor e outra para registrar o comprador assim associar esses valores com a tabela de usuários. Digamos assim: SELECT produto.id, produto.vendedor, produto.comprador, usuarios.id, usuarios.nome FROM produto INNER JOIN usuarios ON produto.vendedor = usuarios.id Com isso tenho a informação do vendedor na tabela de usuários, mas como faria para obter os dados do comprador também? Uma forma seria executar dois joins na tabela de usuários porém acho que assim me parece mais gabiarra do que o jeito mais coeso de se fazer (e na verdade foi gabiarra sim porque não sei como proceder) Tipo assim: SELECT produto.id, produto.vendedor, produto.comprador, a.id AS a_id, a.nome AS a_nome, b.id AS b_id, b.nome AS b_nome FROM produto INNER JOIN usuarios AS a ON produto.vendedor = a.id INNER JOIN usuarios AS b ON produto.comprador = b.id Tem outro jeito? Como?
  16. Achei interessante e um desafio, mas antes de fato tentar fazer veio um problema. Existe um limite na quantidade de caractere que um número pode chegar? Exemplo: Se tivesse-mos 123456789, lógico que a cada numero passado é maior que o anterior, mas na condição que 123456 é maior que 789, por isso achei que não conseguiria inventar alguma coisa para sanar esse problema. Sem botar a mão na maça primeiro eu quebraria o numero em um array, e através de um while compararia cada índice com o próximo se for maior aumentaria o valor de uma variável ou a re-escreveria com o novo número sempre comparando com o próximo até cessar o loop. Se tudo desse certo como na teoria condiz eu estaria com o maior numero em sequencia, o problema seria o limite máximo de caractere que a a varável do resultado pode alcançar.
  17. Omar~

    password_verify

    Rapaz só tem um jeito de você fazer a coisa andar. 1º - Você tem que salvar a senha do usuário durante seu cadastro usando o password_hash 2 º - Como o login é e-mail e senha você verifica somente se existe o e-mail, se existir aí você traz os dados desse e-mail, na precisão precisa da senha que está salva lá quando o usuário se cadastrou. 3º - Com essa senha obtida pelo e-mail aí você compara o valor salvo no banco de dados com a digitada usando o password_verify E a propósito: NUNCA/ JAMAIS/ EM HIPÓTESE ALGUMA!!! Ofusque alguma coisa! E ainda pior você fez cometeu erro gravíssimo em uma super global.... Nada deve ser ofuscado e nunca super-globais devem ser acessadas diretamente.
  18. @Motta Meio estrando não é? De fato sempre quando precisei fazer algo semelhante, fazia duas querys e unificava os resultados em um único array no PHP. Mas a questão que acho poderia existir outra forma é: Uma vez que já fiz um JOIN na tabela de usuários, poderia existir algum comando "que desconheço" para relacionar as duas colunas diferentes para um único JOIN.
  19. Omar~

    Editar site por area administrativa

    Sim pode ser feito com um banco de dados, basta apenas que saiba registrar e ler dados. Porém textos design das páginas e uma porção de coisas pode ser executada por arquivos apenas mudando seus parâmetros. É muito comum na área de desenvolvimento para terceiros colocar-mos alguma coisa de mudança de configuração, como alterar dados de acesso a banco de dados o já mencionado acima e uma infinidade de coisas de forma a facilitar o manuseio da aplicação pelo cliente, pois normalmente ele não sabe programar por isso ele nos contratou, e apenas com alguns cliques ele possa gerenciar toda a aplicação. Mas não acho sensato um amador se entregar nisso, pois requer muita atenção pois um simples erro pode custar muito dinheiro para o cliente que vai com certeza processar-lo pela perda (recentemente um conhecido meu foi preso por causa disso mesmo). No entanto é bom que comece a fazer coisas básicas pessoalmente para ir se acostumando. Vamos então supor que tenha-mos textos para serem exibidos que podem ser editados. Irei usar um arquivo XML pois pode guardar muita informação e na teoria funciona como banco de dados (MAS NUNCA USE UM ARQUIVO DESSES PARA GUARDAR DADOS DE ACESSO!!!) <?xml version="1.0" encoding="UTF-8"?> <textos> <texto_a>Algo escrito para ser mostrado</texto_a> <texto_b>Outra coisa</texto_b> </textos> Aí caso queiramos mostrar alguma coisa desse arquivo: <?php $lerXML = simplexml_load_file('arquivo.xml'); echo ($lerXML->texto_a); Mas de nada adianta se não pudermos editar não é mesmo? Então criamos um arquivo que será responsável por re-escrita do arquivo original. <?php $escrita = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" . "<textos>" . "<texto_a>{$texto_a}</texto_a>" . "<texto_b>{$texto_b}</texto_b>" . "</textos>"; return $escrita; Nada mais que um arquivo php que tem escrito os padrões do arquivo original que vamos alterar Então para alterar-mos o arquivo bastamos criar as variáveis usadas no arquivo acima. Incluir ele e re-escrever outro XML com o que vamos modificar salvando em cima do outro assim substituindo o anterior. <?php $texto_a = 'Estou mudando o texto A do arquivo XML'; $texto_b = 'Estou mudando o texto B do arquivo XML'; $saida = include ('escrita.php'); // O arquivo php de re-escrita $salvar = 'arquivo.xml'; // O arquivo XML que é para salvar $escrever = fopen($salvar, 'w') or die('Não é possível gerar o arquivo.' . '<br />Verifique as permissões de acesso as pastas e arquivos no servidor'); fwrite($escrever, $saida); fclose($escrever); Se então acessarmos aquele arquivo que fizemos a leitura do XML vemos que o texto foi alterado. Porém se não queira-mos mudar tudo fazemos a leitura do arquivo XML comparamos as informações diferentes e setamos valores iguais ou diferentes nas variáveis conforme o que de fato foi alterado. No mais é o básico se formulários HTML e receber essas informações e processar-las no back-end para ser usadas.
  20. Bem simples de resolver se você tem mesmo acesso aos arquivos hospedados. A mensagem é clara e diz que o usuário sql palms não tem permissão de acesso devido a senha incorreta. Veja alguma documentação desse prestashop e ver em qual arquivo armazena os dados de acesso ao banco de dados. Acesse os arquivos na hospedagem e faça o download desse arquivo. Modifique os dados manualmente nesse arquivo, conforme os novos dados de acesso ao sql. Envie esse arquivo modificado para a hospedagem substituindo o que lá está com dados inválidos.
  21. Já de cara sem olhar a fundo podemos ver.... Quando isso aqui não estiver vazio entramos na condicional.... Então a variável $idclient será o valor do input não vazio... Aí nessa condição para ser válida $idclient deve ser vazio:
  22. Bom, uploads podem ser feitos de inúmeras formas. Aqui eu presumo que é um usuário logado que está tentando enviar arquivos, então preparei um exemplo genérico sobre o assunto, espero que seja algo como isso. Começando pelo html, um formulário de envio simples, e padrão para envio. Mas a pegada está no javascript controlando o que é selecionado antes de submeter o formulário. Aí no arquivo que vai receber os você faz Sei lá cara seu código também envia arquivos, então eu acho que a questão mesmo era salvar no banco de dados. Como desconheço a estrutura de sua tabela e quais dados realmente é para salvar, então a ajuda é mínima. Mas o esquema é esse aí mesmo cabe você adaptar a sua realidade.
  23. Rapaz está difícil entender o que de fato você está tentando fazer.... Se você já enviou os arquivos, porque uma nova função para enviar arquivo? Sei lá tenta isso aqui: https://github.com/Spell-Master/sm-web/tree/master/javascript/FileTransfer Assim você pode está sempre enviando arquivos sem sair da página atual. A propósito umas observações:
  24. Omar~

    submit sem refresh

    Primeiro isso aqui... Altere para... // Substituir ofuscação que só vai gerar problemas, por valor neutro quando dados não existem $nome = (isset($_POST['nome']) ? $_POST['nome'] : ''); E para envio sem recarregar: https://github.com/Spell-Master/sm-web/tree/master/javascript/AjaxRequest
  25. Omar~

    array retornar elementos

    https://forum.imasters.com.br/topic/587732-dizer-se-tem-ou-não-dados-repetidos-no-array/ E não é a mesma coisa?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.