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. Qual é o tipo do campo data? "date"(AAAA-MM-DD) ou "string"(DD/MM/AAAA). Se for "date" você pode usar os sinais "<" ou ">" caso contrário você só poderá usar LIKE, NOT LIKE, = ou !=. Lembre-se que a data retornada pelo formulário deve estar no mesmo formato que está escrito no banco para poder comparar. O ideal é que você utilize o campo "date" dando possibilidade de consultas que realmente compare as datas porque utilizando "string" você deixará de utilizar bons recursos que o banco oferece nativamente. Aliás no seu caso seria melhor usar um campo do tipo "datetime" assim você não precisaria usar o campo "horas"
  2. Primeiro você tem que fazer uma tabela que tenha dois campos o usuário e o post. Depois em cada post você acrescenta o botão com a função em Ajax. Primeiro a função terá que fazer uma requisição que pergunte se aquele post foi lido pelo usuário(Isso vai determinar se o botão exibe a mensagem "Assistido" ou "Não Assistido"). Segundo, ao ser clicado ele deve requisitar outra página para que aquele post seja marcado como "Assistido" Você deve ter duas páginas PHP Uma Recebe o id do usuário e o id do post e responde se o post foi lido ou não pelo usuário A outra Recebe o id do usuário e o id do post e insere na tabela que o post já foi assistido pelo usuário. Espero ter ajudado. Tudo de bom.
  3. Já tentou assim...? SELECT * FROM chamado, usuario as atendente, usuario as responsavel WHERE chamado.id_atendente = atendente.id and chamado.id_responsavel = responsavel.id Espero ter ajudado
  4. Te ajuda criar um PDF exibindo para o usuário em uma página e depois o usuário mandar imprimir na impressora? Se sim acho que isso resolve: http://www.revistaphp.com.br/artigo.php?id=109 Se não quem sabe isso ajude: http://br.php.net/manual/pt_BR/function.printer-draw-text.php Tudo de bom.
  5. Em ajax poderia ser assim (Obs. são dois arquivos): #Arquivo acessado pelo usuário <script type="text/javascript"> var id = window.prompt("Digite o Id do Aluno:", ""); var request = $.ajax({ url: "aluno.php", type: "POST", data: { id : id }, dataType: "html" }); request.done(function( msg ) { $( "#log" ).alert( msg ); }); request.fail(function( jqXHR, textStatus ) { alert( "Request failed: " + textStatus ); }); </script> #Arquivo aluno.php <?php if ($_SERVER['RESQUEST_METHOD'] != 'POST') { return 'Método Inválido!'; } $id = isset($_POST['id']) ? (int) $_POST['id'] : ''; if (empty($id)) { return 'ID Inválido => '.$_POST['id']; } $con = mysql_connect($server, $username, $password); mysql_select_db($database, $con); $aluno = mysql_query('SELECT * FROM alunos WHERE id = '.$id, $con); $aluno = mysql_fetch_assoc($aluno); if(!$aluno) { return 'Nenhum aluno encontrado com este ID => '.$_POST['id']; } return 'Nome => "'.$aluno['nome'].'"'; ?> Espero ter ajudado Tudo de bom.
  6. Na verdade cara temos um problema de conceito rsrs. var id = window.prompt("Digite o Id do Aluno:", ""); Faz com que o que for digitado no prompt vá para a variável id, porém isso... //PASSA JAVA PARA PHP $idaluno = "<script>document.write(id)</script>"; Não passa o resultado do prompt para a variável $idaluno. Como o PHP só roda do lado servidor você só pode passar dados para ele via os verbos do HTTP (GET, POST, DELETE, PUT...) Um jeito seria você pegar a variável "id" e fazer um XMLHttpRequest(Ajax) ou usar um formulário para enviar esses dados para o servidor. Quando chegar em casa eu posto um exemplo.
  7. Eu também não entendo muuuuuito bem isso, mas acho que essa página deve ajuda-la a entender melhor. http://www.macoratti.net/msql_lc1.htm acho que o negócio é pular para postgreSQL e livre-se de dores de cabeça posteriores assumindo dores de cabeça agora migrando seu sistema rsrs. Ou joga o custo pro cliente e um abraço. Espero ter ajudado Tudo de bom.
  8. Se não existem logins repetidos nos dois servidores você primeiro se conecta em um servidor, de preferencia o que tem maior quantidade de alunos, para que o script seja mais rápido para a a maioria dos alunos, se der baum ele redireciona o usuário para a página deste servidor, caso contrário ele se conecta no segundo servidor e verifica usuário e senha... Caso existam logins iguais ai o seu formulário deverá ter mais um campo, um radio button ou um select para que o usuário escolha o curso, que quer acessar, ou servidor, caso essa informação seja de livre acesso. Espero ter ajudado.
  9. Uma maneira que funciona é essa: <style> span { float:left; } img { float:left; } .clear { clear:both; } </style> <p> <span> Blá blá blá blá blá </span> <img src="blá.jpg" /> <br class="clear" /> </p> Uso dois float:left para fazer o texto e a imagem ficarem alinhados a esquerda, você pode por um max-width em span para dar um tamanho máximo para a tag, porque sem isso quando houver uma quebra de linha quer dizer que o texto chegou ao máximo da linha e a imagem ficará colada ao canto direito, o clear:both serve para que a tag p continue "envolvendo" todo o span e img não quebrando o seu layout. Espero ter ajudado. Tudo de bom.
  10. Funciona perfeitamente. Primeiro você precisa iniciar o AJAX no evento onChange de t1 pra enviar a requisição Segundo eu aconselho que o arquivo PHP chamado pelo AJAX responda em JSON Terceiro o AJAX recebe a matriz de dados e tem que criar os elementos <option> (Leia sobre createElement) e escrever esses options dentro de t2 (Leia sobre appendChild). Espero ter ajudado Tudo de bom.
  11. Entendi. Pra ter certeza eu precisaria ver o código completo da página bairros_2.php e talvez da página bairros_2_iframe_intro.php, para comparar. Mas acredito que na página bairros_2_iframe_intro.php você está fazendo da maneira correta pegando o valor retornado pelo sql, algo do tipo. <?php $resultado = mysql_query('SELECT COUNT(id_bairro_tax) FROM taxis_cadastro WHERE id_bairro_tax = 48595 GROUP BY id_bairro_tax HAVING COUNT(id_bairro_tax) > 0'); $totalRows_Contador = mysql_fetch_row($resultado); echo $totalRows_Contador[0]; ?> Já na página bairros_2.php das duas uma ou você está contanto a quantidade de registros retornados pela consulta, ou você está pegando o valor da primeira linha e escrevendo ele novamente para todos os itens, tipo: <?php $bairros = mysql_query(/*SELECT DOS BAIRROS*/); $resultado = mysql_query('SELECT COUNT(id_bairro_tax) FROM taxis_cadastro GROUP BY id_bairro_tax HAVING COUNT(id_bairro_tax) > 0'); $totalRows_Contador = mysql_fetch_row($resultado); while ($bairro = mysql_fetch_assoc($bairros)) { echo '<a href="...">'.$bairro['nome'].' - '.$totalRows_Contador[0].'</a>'; } ?> OU <?php $bairros = mysql_query(/*SELECT DOS BAIRROS*/); $resultado = mysql_query('SELECT COUNT(id_bairro_tax) FROM taxis_cadastro GROUP BY id_bairro_tax HAVING COUNT(id_bairro_tax) > 0'); while ($row = mysql_fetch_row($resultado) { $rows[] = $row; } $totalRows_Contador = count($rows); while ($bairro = mysql_fetch_assoc($bairros)) { echo '<a href="...">'.$bairro['nome'].' - '.$totalRows_Contador.'</a>'; } ?> OU <?php $bairros = mysql_query(/*SELECT DOS BAIRROS*/); $resultado = mysql_query('SELECT COUNT(id_bairro_tax) FROM taxis_cadastro GROUP BY id_bairro_tax HAVING COUNT(id_bairro_tax) > 0'); $totalRows_Contador = mysql_num_rows($resultado); while ($bairro = mysql_fetch_assoc($bairros)) { echo '<a href="...">'.$bairro['nome'].' - '.$totalRows_Contador.'</a>'; } ?> Quando o certo seria algo do tipo: <?php $bairros = mysql_query(/*SELECT DOS BAIRROS*/); while ($bairro = mysql_fetch_assoc($bairros)) { $resultado = mysql_query('SELECT COUNT(*) FROM taxis_cadastro WHERE id_bairro_tax = '.$bairros['id']); $totalRows_Contador = mysql_fetch_row($resultado); echo '<a href="...">'.$bairro['nome'].' - '.$totalRows_Contador[0].'</a>'; } ?> Repare que a consulta que conta a quantidade de endereços de cada bairro está mais curta, porque a clausula HAVING só serve para filtrar os registros retornados, como se fosse uma segunda clausula WHERE, exemplo: Você uma tabela de cadastro de produtos e alguns estagiario duplicou parte dos produtos você precisa de uma lista dos produtos duplicados logo você precisa de uma consulta assim: SELECT nome FROM produtos GROUP BY nome HAVING count(*) > 1 Onde você retorna o nome do produto agrupando por nomes iguais, mas FILTRANDO com HAVING e exibindo apenas os registros com mais de uma repetição No seu caso: SELECT COUNT(id_bairro_tax) FROM taxis_cadastro GROUP BY id_bairro_tax HAVING COUNT(id_bairro_tax) > 0 Você não está filtrando nada com o HAVING então ele pode ser excluído: SELECT COUNT(id_bairro_tax) FROM taxis_cadastro GROUP BY id_bairro_tax E quando você usa o COUNT() automaticamente o sql faz um GROUP BY então o GROUP BY é desnecessário SELECT COUNT(id_bairro_tax) FROM taxis_cadastro
  12. Essa foi a forma que eu fiz. Achei a que mais se assemelha com a realidade do problema. Mas se você quiser poder inserir vários registros em uma única página(fica mais bonitinho e mais prático pra quem vai cadastrar), pode partir do mesmo principio desse form que eu criei pra enviar SMS ai é só adaptar a função JavaScript para o que você precisa. <html> <head> <script type="text/javascript"> function addnumero () { p = document.createElement('p'); input = document.createElement('input'); input.type = 'text'; input.name = 'numeros[]'; input.className = 'numero'; p.appendChild(input); document.getElementById('numeros').appendChild(p); } function addmensagem () { p = document.createElement('p'); input = document.createElement('textarea'); input.name = 'mensagens[]'; input.className = 'mensagem'; input.rows = 4; input.cols = 50; p.appendChild(input); document.getElementById('mensagens').appendChild(p); } </script> </head> <body> <form method="post" action="enviar.php" name="sms" > <input type="hidden" name="prioridade" value="1" /> <div id="numeros"> <p> N&uacute;meros </p> <p> <input type="text" name="numeros[]" class="numero" /> </p> </div> <p> <button type="button" class="addnumero" onclick="javascript: addnumero();">Add N&uacute;mero</button> <p> <div id="mensagens"> <p> Mensagens </p> <p> <textarea name="mensagens[]" class="mensagem" rows="4" cols="50"></textarea> </p> </div> <p> <button type="button" class="addmensagem" onclick="javascript: addmensagem();">Add Mensagem</button> <p> <p> <input type="submit" id="enviar" value="Enviar" /> <p> </form> </body> </html>
  13. Da pra fazer assim: para i de 1 ate 3 passo +2 faca repita leia(num) ate num < 0 vet[i]:=num; fim para
  14. Eu já tinha feito algo parecido, e fiz de um jeito diferente. Eu tinha uma tabela com as salas de aulas outra com as matérias e outra com os professores e uma outra chamada aula, que "liga" as outras três tabelas. Dessa forma uma matéria é lecionada por vários professores em salas diferentes e um professor pode lecionar várias matérias na mesma sala ou em salas diferentes. Como você não falou nada com relação a horários e salas estou ignorando eles neste momento. Bom você já nos disse que uma matéria pode ter vários professores, mas um professor pode ter várias matérias? Se sim você precisa de uma tabela para professores e outra para matérias e uma terceira para uni-las Se não você só precisa de um campo na tabela professores que armazena a UNICA matéria que ele leciona. Com relação ao formulário você pode usar um select mutiple. No controler você faz um loop para ler cada valor retornado do select e faça um insert (no caso de usar três tabelas) ou um update em professores (se o professor só puder lecionar uma materia) Espero ter ajudado. Tudo de bom.
  15. Você tem que fazer uma camada de abstração do banco. Uma API do banco de dados, você pode pesquisar sobre arquitetura REST. Você pode até dar uma senha para cada cliente e limitar, tratar, etc o que cada cliente pode acessar. Limitar horários e quantidade de acesso, verificar pagamentos automaticamente... Espero ter ajudado. Tudo de bom
  16. Acredito que esse artigo vai te ajudar http://blog.thiagobelem.net/enviar-e-mails-pelo-php-usando-o-phpmailer/
  17. Primeiro você precisa criar um formulário para receber a URL da página a ser compartilhada. Depois, por Submit mesmo, você envia a URL para uma página no servidor que irá acessar a URL da pra usar um file_get_contents() ou CURL se estiver disponível. De posse do HTML da página à ser compartilhada pegue as informações que te interessa. Comece pegando só o título da página mesmo depois você incrementa essa parte: $tags = get_meta_tags('http://www.example.com/'); echo $tags['title']; Salve no banco de dados(como postagem do usuário). E redireciona o usuário para a página que ele verá a sua postagem com algumas informações da página que ele acabou de compartilhar. E seja feliz. Depois de feito pra deixar mais bonitinho faça o envio do formulário por AJAX e já exiba as informações da URL digitada, sem que seja necessário recarregar a página, como o facebook faz. E melhore o parseamento pegando o Meta Description além do Title e tentando achar tags IMG no corpo da página com uns preg_match() ou preg_match_all() Espero ter ajudado. Tudo de bom.
  18. O seu primeiro exemplo está quase correto, só falta um detalhe no HAVING, que deveria ser assim: SELECT DISTINCT id_bairro FROM cadastro GROUP BY id_bairro_tax HAVING COUNT(id_bairro_tax) > 1 Da forma como você fez "HAVING id_bairro_tax > 1" ele vai aceitar todos os registros que tenham o VALOR do campo id_bairro_tax maior que 1 e não a CONTAGEM. E no segundo exemplo o problema é o espaço entre "COUNT" e o "(". Espero ter ajudado. Tudo de bom.
  19. Toda vez que você coloca um checkbox no seu form sem valor nenhum: <input type="checkbox" name="saram" /> Ele pode retornar dois valores "on" ou NULL acessados em $_POST['saram'] ou $_GET['saram'] e $_REQUEST['saram'] Em coparações simples, na qual o PHP não leva em consideração o tipo da variável, NULL é igual a FALSE Logo você poderia fazer o seu select usando condições ternárias dessa forma: <?php $campos .= ($_POST['saram']) ? '`saram`, ' : '' ; $campos .= ($_POST['nome']) ? '`nome`, ' : '' ; $campos .= ($_POST['nguerra']) ? '`nguerra`, ' : '' ; . . . #Para tirar a última virgula e espaço da variável $campos = substr($campos, 0, -2); $sql = "SELECT $campos FROM tb_militar" $result = mysql_query($sql) or die (mysql_error()); echo $sql; ?> Mas dessa forma toda vez que você for mudar a sua tabela você deverá mudar o formulário e o script que gera o SELECT. Outra forma, na qual o script que gera o SELECT não precisaria ser mudado, primeiro os selects teriam o mesmo valor em name, mas seriam uma matriz e teriam valores em value, dessa forma <input type="checkbox" name="campos[]" value="saram" /> <input type="checkbox" name="campos[]" value="nome" /> <input type="checkbox" name="campos[]" value="nguerra" /> . . . O Script por sua vez acessariam esses valores assim $_(POST|GET|REQUEST)['campos'][(0|1|2|3|4)]. Capisce Bambino!!! O script então ficaria assim: <?php $campos = '`'.implode('`, `', $_POST['campos']).'`'; $sql = "SELECT $campos FROM tb_militar" $result = mysql_query($sql) or die (mysql_error()); echo $sql; ?> Espero ter ajudado. Tudo de bom.
  20. Eu nunca mexi com Fortran, mas a ideia é essa: #Declarar array com os itens à serem lidos numeros=(/10, 60, 84, 0, 89, 35, 47, 91, 0, 956, 354, 25, 14, 7891, 1976, 785, 0, 2, 0, 36, 56, 0/) #Contar elementos de números *para fazer o loop* qtde=count(numeros) #Atribui o menos valor para índice dentro do Fortran i=0 #Ou 1... #Loop que lerá todos os itens dentro de números while (i < qtde) { #Se o menos índice de array dentro do Fortran for um substitua "<" por "<=" #Verifica se o valor do indice atual de números é igual a 0 if (a(i) == 0) { #Escreve a quantidade de elementos contados diferentes de 0 e zera o contador echo count count=0 #Caso contrario } else { #Soma 1 ao contador de elementos diferentes de 0 count=count+1 } } Espero ter ajudado. Abraços e tudo de bom.
  21. Isso não funciona? jQuery.noConflict(); jQuery(document).ready(function($){ $.ajaxSetup({cache:false}); $("a.ajax").click(function(){ var post_url = $(this).attr("href"); var post_id = $(this).attr("rel"); $("#tabs").html('<div class="loading" style="color:#FFF"><img src="http://portacurtas.org.br/curtanaescola/imagens/load.gif" ></div>'); $("#tabs").load(post_url); return false; }); });
  22. Sim, pode ser usado dizendo ao navegador que este texto é do tipo "text/less" <style type="text/less"> .meio{ position: relative; float: left; background-color: #000000; div a { width: 59px; height: 59px; display: block; background-image: url('images/btnhome.png'); } div a:hover { background-image: url('images/btnhomeh.png'); } } </style> OU <link rel="text/less" href="style.less"/>
  23. Isso é expressão regular: <?php $url = 'http://www.infomoney.com.br/nikkei'; ini_set('user_agent', 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3'); $html = file_get_contents($url); $expressaoregular = '/<p id="pVariation" class="variacao (positivo|negativo)"><sub>[+|-]<\/sub>([\d,]*)<sup>%<\/sup><\/p>/i'; preg_match_all($expressaoregular, $html, $dados); echo "A cotação de NIKKEI225 "; if ($dados[1][0] == 'positivo') echo "subiu "; else echo "caiu "; echo $dados[2][0]."%" ?>
  24. Nossa que mancada a minha, isso que da postar sem prestar atenção rsrs. Creio que o problema é a falta de aspas dentro dos colchetes, o correto seria assim: <?php $nome=$_POST['nome']; $email=$_POST['email']; $assunto=$_POST['assunto']; $mensagem=$_POST['mensagem']; echo $nome; ?> Seguinte a matriz $_POST como qualquer outra matriz terá índices para armazenar seus dados esses índices podem ser textos ou números no caso de textos você deve colocar aspas duplas ou simples envolta dos índices, ou se fosse você pode armazenar esses textos e números em variaveis e colocar elas dentro dos colchetes tipo assim: <?php $indices = array('nome', 'email', 'assunto', 'mensagem'); foreach($indices as $indice) { $$indice = $_POST[$indice]; } echo "O meliante, {$nome}, usou o email, {$email}, para enviar \"{$assunto}\", contendo a mensagem, '{$mensagem}'"; ?>
  25. Não me lembro de já ter visto esse erro, mas tenta colocar o ponto e virgula no final da linha do echo: echo $nome;
×
×
  • Criar Novo...