Ir para conteúdo
Fórum Script Brasil

Markus Magnus

Membros
  • Total de itens

    352
  • Registro em

  • Última visita

Tudo que Markus Magnus postou

  1. Includes servem para fazer exatamente o que você quer
  2. Provavelmente o problema é a quantidade de valores passados no VALUES, tem uma string vazia antes do título: Eu reescreveria essa parte: Dessa forma <?php if($acao=="enviar"){ $titulo = $_POST['ti']; $ano = $_POST['an']; $genero = $_POST['ge']; $duracao = $_POST['du']; $tamanho = $_POST['ta']; $formato = $_POST['fo']; $codec_audio = $_POST['co']; $sinopse = $_POST['si']; //envia dados para banco de dados $pdo->prepare("INSERT INTO filmes (titulo,ano,genero,duracao,tamanho_GB,formato,codec_audio,sinopse) VALUES (:titulo,:ano,:genero,:duracao,:tamanho_GB,:formato,:codec_audio,:sinopse)"); $pdo->bindParam('titulo',$titulo,PDO::PARAM_STR); $pdo->bindParam('ano',$ano,PDO::PARAM_INT); $pdo->bindParam('genero',$genero,PDO::PARAM_STR); $pdo->bindParam('duracao',$duracao,PDO::PARAM_STR); $pdo->bindParam('tamanho_GB',$tamanho_GB,PDO::PARAM_STR); $pdo->bindParam('formato',$formato,PDO::PARAM_STR); $pdo->bindParam('codec_audio',$codec_audio,PDO::PARAM_STR); $pdo->bindParam('sinopse',$sinopse,PDO::PARAM_STR); if($sth->execute()){ echo "dados gravados efwf"; }else { echo "Falha ao gravar hejhfe"; print_r($dbh->errorInfo()); } } Outro detalhe o campo visto não está sendo utilizado:
  3. Para poder autenticar e manter logado você já deve estar usando sessões. Uma maneira seria salvar o id da sessão na tabela de usuários junto com um campo de data e hora que atualiza cada vez que o usuário faz uma requisição. No script de logout você limpa esse campos do id de sessão. Tendo isso no script que faz o login, primeiro você verifica se o campo do id está vazio, se sim faz o login normalmente, caso esteja preenchido verifica quanto tempo faz desde a última requisição, se fizer mais do que uma hora, por exemplo, faz o login. Isso porque as vezes o usuário só fechou a página e não fez o logout.
  4. Posta o código que fica muito mais fácil de te ajudar. Mas se você tem uma consulta de todas as folders, faz um loop nelas e dentro do loop faz um select pelas sub_folders, vai acontecer isso que você descreveu mesmo, para resolver preciso entender direito o que você quer. Uma página com links que vão "acessando" as pastas? Não serve um conjunto de divs que "exibe/esconde" as subpastas de cada uma das pastas? Um formulário que filtra as sub pastas que devem ser exibidas?
  5. Posta o Dump das tabelas e os arquivos que você fez até agora. Mas basicamente depois das tabelas criadas crie um formulário com os campos que serão filtros e um PHP que receba essa requisição, faça um select no banco e escreva o resultado em uma tabela.
  6. Primeiro você tem que decidir se quer atualizar a página ao clicar em cada tab ou não. Se quiser você pode simplesmente enviar parâmetros via GET e fazer alguns if no código. <!DOCTYPE HTML> <html lang="pt-BR"> <head> </head> <body> <div id="tabs"> <ul> <li><a href="?tabs-1">Clientes</a></li> <li><a href="?tabs-2">Fornecedores</a></li> <li><a href="?tabs-3">Produtos</a></li> </ul> <div id="tabs-1"> <?php if (isset($_GET['tabs-1'])) { <!-- Aqui quero que execute um SELECT e Um UPDATE, Mas apenas quando fizer o Click no Tab--> } ?> </div> <div id="tabs-2"> <?php if (isset($_GET['tabs-2'])) { <!-- Aqui quero que execute um SELECT e Um UPDATE, Mas apenas quando fizer o Click no Tab--> } ?> </div> <div id="tabs-3"> <?php if (isset($_GET['tabs-3'])) { <!-- Aqui quero que execute um INSERT, Mas apenas quando fizer o Click no Tab--> } ?> </div> </div> </body> </html> Caso não queira terá que fazer requisições em AJAX que nada mais são do que requisições feitas por JavaScript para o servidor podendo executar dessa forma um script Server-Side (PHP, ASP, Pearl, Python, ...). É legal aprender AJAX deixa seus sistemas muito mais dinâmicos e intuitivos, mas não faz nada que links e formulários não façam. <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <script src="//code.jquery.com/jquery-1.10.2.js"></script> <script language="javascript" type="text/javascript"> $("a[href=#tabs-1]").click(function() { $.get('tabs1.php', function(data){ $('#tabs-1').html(data); }); }); $("a[href=#tabs-2]").click(function() { $.get('tabs2.php', function(data){ $('#tabs-2').html(data); }); }); $("a[href=#tabs-3]").click(function() { $.get('tabs2.php', function(data){ $('#tabs-2').html(data); }); }); </script> </head> <body> <div id="tabs"> <ul> <li><a href="#tabs-1">Clientes</a></li> <li><a href="#tabs-2">Fornecedores</a></li> <li><a href="#tabs-3">Produtos</a></li> </ul> <div id="tabs-1"> <!-- Aqui quero que execute um SELECT e Um UPDATE, Mas apenas quando fizer o Click no Tab--> </div> <div id="tabs-2"> <!-- Aqui quero que execute um SELECT e Um UPDATE, Mas apenas quando fizer o Click no Tab--> </div> <div id="tabs-3"> <!-- Aqui quero que execute um INSERT, Mas apenas quando fizer o Click no Tab--> </div> </div> </body> </html>
  7. Para mandar e-mails ainda não achei nada que simplificasse mais que o phpmailler. Você pode ter um array com os e-mails de destino e fazer um loop com foreach enviando um e-mail para cada um ou manda um e-mail só colocando todos os destinatários como copia oculta. Se precisar de ajuda posta ai código do enviar.php.
  8. Nenhuma consulta SQL irá te retornar: Leilão trf lote 1 carro lote 2 casa lote 3 apartamento Leilão brb lote 1 aviao lote 2 casa lote 3 loja Elas podem no máximo retornar: Leilão trf lote 1 carro Leilão trf lote 2 casa Leilão trf lote 3 apartamento Leilão brb lote 1 aviao Leilão brb lote 2 casa Leilão brb lote 3 loja Mas já que você postou no fórum de PHP você gostaria que o seu script escrevesse na tela dessa forma: Leilão trf lote 1 carro lote 2 casa lote 3 apartamento Leilão brb lote 1 aviao lote 2 casa lote 3 loja Ou você queria ter uma matriz assim: <?php $leiloes = array('Leilão trf' => array( array('lote 1', 'carro'), array('lote 2', 'casa'), array('lote 3', 'apartamento')), 'Leilão brb' => array( array('lote 1', 'aviao'), array('lote 2', 'casa'), array('lote 3', 'loja'))); ?>
  9. Essa é uma pergunta que cabe é no Fórum de PHP, se caso o usuário selecionasse as opções 1, 3 e 5 a consulta poderia ser: SELECT opcao FROM tabela WHERE opcao IN (1,3,5) OU SELECT opcao FROM tabela WHERE opcao = 1 or opcao = 3 or opcao = 5 A questão é como pegar os dados do formulário e escrever a consulta. <?php $opcoes = $_POST['opcao']; if( count($opcoes) > 0) { $opcoes = implode( ',', $opcoes); $sql = mysql_query("SELECT opcao FROM tabela WHERE opcao IN ($opcoes)"); } ?> OU <?php $opcoes = $_POST['opcao']; if( count($opcoes) > 0) { foreach ($opcoes as $opcao) { $sqlopcoes[] = 'opcao = '.$opcao; } $sql = mysql_query("SELECT opcao FROM tabela WHERE ".implode(' or ', $sqlopcoes)); } ?>
  10. Markus Magnus

    Ajuda com Script

    Eu faria esse script diferente, economizando até um campo na tabela rsrsrs: <?php $menus = mysqli_query($con, "SELECT * FROM menu where id_submenu = 0"); echo 'Menu<br>'; while($menu = mysqli_fetch_array($menus)) { echo '-'.$menu['item'].'<br>'; $submenus = mysqli_query($con, "SELECT * FROM menu where id_submenu = {$menu['id']}"); if (mysqli_num_rows($submenus) > 0) { while($submenu = mysqli_fetch_array($submenus)) { echo '--'.$submenu['item'].'<br>'; } } } ?> deixando a tabela sem o último campo: id id_submenu item link 1 0 Sobre # 2 0 Produto # 3 0 Suporte # 4 0 Contato # 5 2 Hardware # 6 2 Software # 7 3 Suporte TI #
  11. O único erro de sintaxe que existe é <div="interface"> Que deveria ser: <div id="interface"> Porém não entendi muito bem o que você quis fazer, pois a div#interface é menor do que as tags section e aside que ficam DENTRO da div eu colocaria a div com width:1000px que é igual a soma das duas tags.
  12. Ehh... não seria: SELECT bhges.*, col.codigo, col.nome FROM bio_bhges as bhges inner join colaboradores as col on col.codsetor=bhges.setorcod where bhges.gescod=654 and col.codigo NOT IN (select distinct codigo from bio_bhgesneg where gescod=654) o NOT depois do nome do campo?
  13. Não querendo ser chato, mas esse tópico ficaria melhor dentro da área de MSSQL, que é o Banco de Dados que você está usando correto? Nunca trabalhei com MSSQL apenas com MySQL, mas acredito que a terceira opção é a correta. Poderia postar o erro que aparece ao executa-la? Acho até que seria interessante você dar um echo na consulta: <?php echo "SELECT TOP 50 Name,".Column_Reset.",".Column_ResetDay.",".Column_ResetWeek.",CTM_Image FROM ".MuGen_DB.".dbo.Character ORDER BY ".Column_ResetWeek." DESC,".Column_Reset." DESC ,".Column_ResetDay." DESC"; ?> E acessar o banco manualmente e colar a consulta depois de corrigir os erros alterar no script PHP.
  14. Todos terão a mesma quantidade de dias? O anuncio será exibido desde o momento do cadastro? Se sim para os dois então tenha um campo que salva a data do cadastro e no select do anuncio coloque no where que este campo deve ser mais recente do que a quantidade de dias que você determinou. No caso de renovação apenas altere essa data. Se não para os dois você terá que ter dois campos um para o início da exibição dos anúncios e outro para o fim da exibição e no select do anuncio coloque no where que a data atual deve estar entre as datas dos dois campos. No caso de renovação apenas altere a data do fim da exibição. Se sim e não, respectivamente, tenha um campo que salva a data do início da exibição e no select do anuncio coloque no where que este campo deve ser mais recente do que a quantidade de dias que você determinou. No caso de renovação apenas altere essa data. Se não e sim, respectivamente, tenha um campo que salva a data do fim da exibição e no select do anuncio coloque no where que a data atual deve ser menor que este campo. No caso de renovação apenas altere essa data. Abraços. Tudo de bom.
  15. O primeiro parágrafo é a solução simples. <?php $stmt = $mysqli->prepare(" INSERT INTO cores ( amarelo, laranja, azul, verde ) VALUES ( ?, ?, ?, ? )"); $stmt->bind_param('ssss', $_GET['amarelo'], $_GET['laranja'], $_GET['azul'], $_GET['verde'] ); Abraços. Tudo de bom.
  16. O problema está no tratamento dos dados passados via GET e via POST. Você não esta fazendo nenhum. Este artigo te ajudará a entender melhor o seu problema. Fora isso vai te facilitar um bom tanto usar vários níveis de array nos names dos inputs no formulário de perguntas. //Em vez de pensar em escrever <input type="radio" value="C" name='<?php echo "L" . $i . "R" . $k . "[]"; ?>'>C&nbsp; //Escrever <input type="radio" value="C" name='<?php echo "L[" . $i . "][R][" . $k . "][]"; ?>'>C&nbsp; Porque depois você só vai precisar usar um foreach para acessar todas as perguntas e respostas. Abraços. Tudo de bom.
  17. Cada input tem que ter o name igual ao do value, assim quando for fazer o INSERT você só tem que pegar os valores na variável $_POST e inserir, os valores retornados por cada input será o próprio value ou FALSE se ele não tiver sido selecionado. Porém cara o que é ideal para uma situação dessas é seguir as regrinhas de como se estruturar um banco de dados, isso facilita e muito na manutenção de um sistema, porque sistemas crescem, daqui a pouco centenas de pessoas querem usar e você terá que dar prioridades diferentes à cada tipo de usuário ou os produtos deverão ter mais campos à serem preenchidos. Enfim não seguir a normalização te dará dores de cabeça futuros. Se precisar de ajuda posta que a gente te da uma mão. Abraços. Tudo de bom.
  18. Primeiro salve no banco no formado Y-m-d H:i:s, dessa forma você coloca o campo com tipo datetime isso vai te dar a possibilidade de comparar as datas com > e < caso contrário você terá que trabalhar com string ai fica complicado pra caramba e oneroso pro banco. Para você fazer a seleção dos usuários online, você tem que selecionar por um período de tempo válido no banco, por exemplo como você fez os usuários que logaram nos últimos 6 minutos, para tanto você tem que informar as duas datas para o MySQL fazer a seleção. SELECT * FROM novo_usuarios WHERE status='livre' AND login BETWEEN '$datamin' AND '$datamax' AND ID NOT IN($id_user) A função BETWEEN faz a consulta de datas (ou valores) entre a primeira data (valor mínimo) e a segunda data (valor máximo). Para ter os valores de $datamin e $datamax você deve usar a função date() e strtotime(). <?php $datemin = date('Y-m-d H:i:s', strtotime('-6 minutes'));//Seis minutos atrás $datemax = date('Y-m-d H:i:s');//Hora atual Porém há um problema que talvez você se depare. Um usuário pode se logar no site e ficar 20, 30 minutos on-line porém depois dos 6 minutos ele será considerado off-line, o que você pode fazer é a cada interação do usuário com o site(acesso à página) o campo que guarda a data do login seja alterado.(Não resolve, mas melhora.) Outro problema e mais complexo é o usuário se conectar e ficar menos de 3 minutos on-line e sair, esse você só melhora o problema baixando o tempo dos 6 minutos. Ou você resolve os dois problemas fazendo requisições em AJAX para realmente ficar verificando se o usuário está on-line. Abraços. Tudo de bom.
  19. Markus Magnus

    insertGoTo - Dinâmico

    Você salva os valores no campo site de outra tabela que é salvo em outra pagina, correto? Nesse formulário você só escreve os valores que já estão salvos na tabela e ao fazer o submit do form você apenas insere um registro na tabela contador e faz o redirecionamento, correto? Teria como você mostrar um exemplo do que estava registrado no campo site e como ele fica depois de todo o tratamento na variável $insertGoTo. Abraços. Tudo de bom
  20. Entendi, desculpe não havia entendido a sua dúvida. Não sei te responder. Abraços. Tudo de bom.
  21. Markus Magnus

    Quebrando a cabeça

    Isso pode te dar uma boa direção de como fazer: <?php $con = mysql_connect('bla', 'bla', 'bla') or die(mysql_error()); mysql_select_bd('bla', $con) or die(mysql_error()); $registros = mysql_query('SELECT * FROM tbl_principal', $con) or die(mysql_error()); while ($registro = mysql_fetch_assoc($registros)) { $clientes[$registro['id_cliente']]['id_produto1'] += $registro['id_produto1']; $clientes[$registro['id_cliente']]['id_produto2'] += $registro['id_produto2']; $clientes[$registro['id_cliente']]['id_produto3'] += $registro['id_produto3']; $clientes[$registro['id_cliente']]['registros']++; } var_dump($clientes); Abraços. Tudo de bom.
  22. Não faz diferença, porque na verdade quando você lê o dump no notepad, talvez o arquivo não foi gerado em UTF-8 ou o notepad esteja forçando ISO-8859-1.
  23. Se você postar o link do blog sim, mas provavelmente existe alguma tag sem conteúdo que assumiu um tamanho maior do que deveria e está sobre esses widgets. Um "Inspecionar Elemento" do Google Chrome, pode apontar o culpado, ai você caça a motivação dessa rebeldia dele e mostra quem é que manda, mandando a tag pro lugar dela com o seu tamanho devido, rsrsrsrs. Abraços. Tudo de bom.
  24. Tive o mesmo problema mas entre um Ubuntu e um Fedora. Os dois eram servidores no meu caso. Acessei o Ubuntu fiz o mysqldump, acessei o Fedora e dei um wget do arquivo que estava no Ubuntu, deu merda. Como resolvi, acessei o Fedora e dei o mysqldump no Ubuntu. "mysqldump -u... -p -h200... -x -e --database=bla bla bla" O arquivo foi criado no Fedora bonitinho, pois foi gerado pelo Filesystem do mesmo, não sei porque cargas dágua o UTF-8 do Fedora não lê os acentos do UTF-8 do Ubuntu. Espero ter ajudado. Tudo de bom.
×
×
  • Criar Novo...