Ir para conteúdo
Fórum Script Brasil

Markus Magnus

Membros
  • Total de itens

    352
  • Registro em

  • Última visita

Posts postados por Markus Magnus

  1. Provavelmente o problema é a quantidade de valores passados no VALUES, tem uma string vazia antes do título:

    20 horas atrás, Leandro Moreira disse:

    ...VALUES('','$titulo',...

    Eu reescreveria essa parte:

    20 horas atrás, Leandro Moreira disse:

    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
    $enviarb = "INSERT INTO filmes (titulo,ano,genero,duracao,tamanho_GB,formato,codec_audio,sinopse) VALUES('','$titulo',
                                                                '$ano',
                                                                '$genero',
                                                                '$duracao',
                                                                '$tamanho',
                                                                '$formato',
                                                                '$codec_audio',
                                                                '$sinopse')";

    }

    if($pdo->query($enviarb)){
        echo "dados gravados efwf";
    }else {
        echo "Falha ao gravar hejhfe";
    }

    ?>

    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:

    20 horas atrás, Leandro Moreira disse:

    <td>Visto</td>
                        <td>
                        <input value="S"type="radio" name="vi" required />SIM
                        <input value="N" type="radio" name="vi" required />NÃO
                        </td>

     

  2. 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.

  3. 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?

  4. 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.

  5. 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>
  6. 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')));
    ?>
    
  7. 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));
    }
    ?>
    
  8. 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	#
    
  9. 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.

  10. 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.

  11. 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.

  12. O primeiro parágrafo é a solução simples.

    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(amarelo,laranja,azul,verde) ou FALSE se ele não tiver sido selecionado.
    <?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.

  13. 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.

  14. 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.

  15. 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.

  16. 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

  17. 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.

  18. 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.

  19. 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...