Ir para conteúdo
Fórum Script Brasil

vini_loock

Membros
  • Total de itens

    1.037
  • Registro em

  • Última visita

Tudo que vini_loock postou

  1. vini_loock

    PHP com Javascript

    Cara, você não pode chamar uma função js pelo PHP, isso porque o js é interpretado bem depois que o php. Da uma olhada nisso: http://interpossi.com.br/artigos/usando-geoip-e-google-maps/ Você pode usar a parte do php nesta página para pegar as coordenadas e depois aplicar na sua imagem, da mesma forma que você faz, só que com as variaveis vindo do php
  2. http://www.webmaster.pt/requisicoes-ajax-jquery-2216.html
  3. (Com jquery)Algo assim: // ao clicar no li $('li').on('click', function(){ var $li = $(this); // chama uma página php que retorne um ul > li $.ajax({ url: 'pegaSubItems.php', // página php a ser chamada type: 'POST', data: {valor: $li.text()}, onsuccess: function(response){ $li.append(response); }, onerror: function(e){ console.log('error'); console.log(e); } }); });
  4. http://www.ebah.com.br/content/ABAAABpaMAL...o-com-enunciado
  5. Você vai basicamente criar um aplicativo para o facebook e criar uma tela de "boas vindas" com um botão para curtir. Fiz muito disso na API antiga deles, mas mudou recentemente e não tive a oportunidade de ver o que mudou, então prefiro não entrar nos detalhes, mas garanto que aqui você encontrara tudo que precisa: https://developers.facebook.com/docs/reference/api/
  6. Não seria o caso de essa classe retornar os dados em json ou xml? ai você pode fazer uma requisição ajax ao java.
  7. Ah, putz. Pensei em algo parecido mas não dei muita bola por pensar no caso de ter algo depois desta tag aberta, mas só agora com você falando que me toquei: o máximo que terá depois desta tag, seriam espaços, nada que um trim não resolva. Vlw
  8. Salve pessoas, Estou precisando de alguma coisa que identifique tags não fechadas. A situação é a seguinte: Tenho um formulário para adicionar artigos; Nesse formulário há um campo "conteudo"(um textarea tiny mce); Este campo, poderá receber o famoso "leia mais", que nada mais é que um comentário html no campo conteúdo; No banco de dados, existem 2 campos para salvar o conteudo: introtext e fulltext; Na hora de salvar, dou um explode no comentário (<!--readmore-->); e salvo as partes em seus devidos lugares; O problema é que se por exemplo o comentário estiver dentro de uma tag p, quando eu mostrar no site apenas o introtext, terá um p sem fechamento. Este é o problema, estou sem nenhuma ideia por enquanto, se alguém tiver sugestões... Vlw, Vinicius Edit.. Só afim de exemplificar: Supomos que o conteudo que o usuário digitou no campo corresponda a isto: <p>primeira parte do texto</p> <p><!--readmore--></p> <p>segunda parte do texto</p> No banco, será salvo assim: introtext<p>primeira parte do texto</p> <p> fulltext</p> <p>segunda parte do texto</p>
  9. Estou fazendo uma aplicação com o google maps, mas estou com um problema na horade adicionar um evento a um marcador. Como são vários marcadores, guardo eles em um array. Os eventos devem ser adicionados(pelo que eu sei) depois de cria-los, então em um for, eu adiciono um evento para cada marcador. O problema é que cada marcador tem seu conteúdo, logo tenho que guardar as informações em um array e quando faço isso, não consigo associar o marcador com a informação. Mas como tudo está em arrays separados e onde adiciono o evento é em um for, a variavel(no caso "i"), terá sempre o maior valor possível(no caso 2(points.length)) e então , na linha 46 ocorre o problema: info é undefined O código: (function($, google){ $(function(){ // dados do mapa var points = [ { title: 'teste title 1', content: '<p><b>teste</b></p>', x: 20, y: 10 }, { title: 'teste title 2', content: '<p><b>teste</b></p>', x: 0, y: 0 } ]; // posição central do mapa var centerPos = new google.maps.LatLng(0, 0); // cria o mapa var mapa = new google.maps.Map(document.getElementById('main-google-maps-map'), { zoom: 1, center: centerPos, mapTypeId: google.maps.MapTypeId.ROADMAP }); var infos = [], markers = []; // exibe os marcadores no mapa for(i = 0; i < points.length; i++){ markers.push(new google.maps.Marker({ position: new google.maps.LatLng(points[i].x, points[i].y), map: mapa, title: points[i].title })); infos.push(new google.maps.InfoWindow({ content: points[i].content })); // Erro aqui: google.maps.event.addListener(markers[i], 'click', function(){ infos[i].open(mapa, markers[i]); }); } }); })(jQuery, google);
  10. Tenho um banco de dados com 3 tabelas, nessa estrutura: A tabela emissoras vai guardar apenas um id para servir de base na hora de resgatar um registro. Esse registro será feito a partir de um formulário, que é gerado conforme os registros na tabela fields. O id é salvo na tabela emissoras e os dados na tabela values, relacionando o valor do campo(field_id) com a emissora(emissora_id) Agora é que vem a parte complicada. Preciso formatar a forma que o resultado virá. Preciso pega, em uma única query, um array com este formato: Onde o array $item, seria todos os resultados da query e cada um dos arrays dentro dele seriam os registros em sí. 'fields.name' => 'values.value', representa uma lista onde poderiam ter mais de um indice, mas sempre seguindo o mesmo padrão. Resumindo, o que eu preciso é que minha query retorne uma lista agrupando os valores em 'values' de acordo com os id's em 'emissoras' e que o grupo de valores desta lista, seja, na verdade, outra lista onde a key seria o campo name da tabela fields(fields.name) e o valor, o campo value da tabela values(values.value). Exemplificando: Considere as tabelas com os seguintes dados: Quero um resultado assim:
  11. Incrível. Sempre que posto aqui, encontro a solução rapidinho. E olha que eu não fui postando logo de cara, estou com isso desde ontem. O problema aparentemente era na função selectSlide, eu não estava deletando o item que eu escondia, então quando juntava uma certa quantia de itens lá, o javascript parava. Segue a função: function selectSlide(i){ $links.attr('href', list[i].link); $mainList.find('img.slide_'+i).parent().addClass('active'); $title.animate({opacity:0}, function(){ $(this).html(list[i].title); $(this).animate({opacity:1}); }); $text.animate({opacity:0}, function(){ $(this).html(list[i].text); $(this).animate({opacity:1}); }); $imageParent.find('img').before( $('<img />').attr('src', list[i].image).hide().fadeIn() ).fadeOut(function(){ $(this).remove(); }); }At, Vinicius
  12. Um script que estou escrevendo está parando de executar depois de algumas repetições devido ao erro descrito no titulo Sei o que causa esse erro, porem não sei onde está acontecendo. O código é este: window.productsList = [ { link: '#link2', title: 'Title2', text: 'Description2', image: 'images/banner2.png', thumb: 'images/thumbs/banner2.png' },{ link: '#link', title: 'Title', text: 'Description', image: 'images/banner1.png', thumb: 'images/thumbs/banner1.png' } ]; (function($, list){ $(function(){ var $main = $('#header-banner'); var $imageParent = $main.find('.the-image'); var $text = $main.find('p'); var $title = $main.find('h2'); var $links = $main.find('a.the-image, a.btn-details, a.btn-buy'); var $mainList = $main.find('ul'); var active = 0; for(i = 0; i < list.length; i++){ var $_li = $('<li />'); var $_image = $('<img />'); var $_title = $('<h3 />'); $_image .attr('src', list[i].thumb) .addClass('slide_'+i) .appendTo($_li); $_title .html(list[i].title) .appendTo($_li); $_li.appendTo($mainList); } function selectSlide(i){ $links.attr('href', list[i].link); $mainList.find('img.slide_'+i).parent().addClass('active'); $title.animate({opacity:0}, function(){ $(this).html(list[i].title); $(this).animate({opacity:1}); }); $text.animate({opacity:0}, function(){ $(this).html(list[i].text); $(this).animate({opacity:1}); }); $imageParent.find('img').before( $('<img />').attr('src', list[i].image).hide().fadeIn() ).fadeOut(); } function slideTimeOut(){ active++; if(active >= list.length){ active = 0; } selectSlide(active); slideInterval = window.setTimeout(slideTimeOut, 3000); } function createInterval(){ slideInterval = window.setTimeout(slideTimeOut, 3000); } selectSlide(active); createInterval(); $mainList.find('li img').click(function(e){ var el = e.target; $mainList.find('li').removeClass('active'); var i = el.className.split('_')[1]; active = i; clearTimeout(slideInterval); selectSlide(active); createInterval(); }); }); })(jQuery, productsList); Mas a parte que está com problemas é bem provavel que seja esta:function selectSlide(i){ $links.attr('href', list[i].link); $mainList.find('img.slide_'+i).parent().addClass('active'); $title.animate({opacity:0}, function(){ $(this).html(list[i].title); $(this).animate({opacity:1}); }); $text.animate({opacity:0}, function(){ $(this).html(list[i].text); $(this).animate({opacity:1}); }); $imageParent.find('img').before( $('<img />').attr('src', list[i].image).hide().fadeIn() ).fadeOut(); } function slideTimeOut(){ active++; if(active >= list.length){ active = 0; } selectSlide(active); slideInterval = window.setTimeout(slideTimeOut, 3000); } function createInterval(){ slideInterval = window.setTimeout(slideTimeOut, 3000); }
  13. Um script que estou escrevendo está parando de executar depois de algumas repetições devido ao erro descrito no titulo Sei o que causa esse erro, porem não sei onde está acontecendo. O código é este: window.productsList = [ { link: '#link2', title: 'Title2', text: 'Description2', image: 'images/banner2.png', thumb: 'images/thumbs/banner2.png' },{ link: '#link', title: 'Title', text: 'Description', image: 'images/banner1.png', thumb: 'images/thumbs/banner1.png' } ]; (function($, list){ $(function(){ var $main = $('#header-banner'); var $imageParent = $main.find('.the-image'); var $text = $main.find('p'); var $title = $main.find('h2'); var $links = $main.find('a.the-image, a.btn-details, a.btn-buy'); var $mainList = $main.find('ul'); var active = 0; for(i = 0; i < list.length; i++){ var $_li = $('<li />'); var $_image = $('<img />'); var $_title = $('<h3 />'); $_image .attr('src', list[i].thumb) .addClass('slide_'+i) .appendTo($_li); $_title .html(list[i].title) .appendTo($_li); $_li.appendTo($mainList); } function selectSlide(i){ $links.attr('href', list[i].link); $mainList.find('img.slide_'+i).parent().addClass('active'); $title.animate({opacity:0}, function(){ $(this).html(list[i].title); $(this).animate({opacity:1}); }); $text.animate({opacity:0}, function(){ $(this).html(list[i].text); $(this).animate({opacity:1}); }); $imageParent.find('img').before( $('<img />').attr('src', list[i].image).hide().fadeIn() ).fadeOut(); } function slideTimeOut(){ active++; if(active >= list.length){ active = 0; } selectSlide(active); slideInterval = window.setTimeout(slideTimeOut, 3000); } function createInterval(){ slideInterval = window.setTimeout(slideTimeOut, 3000); } selectSlide(active); createInterval(); $mainList.find('li img').click(function(e){ var el = e.target; $mainList.find('li').removeClass('active'); var i = el.className.split('_')[1]; active = i; clearTimeout(slideInterval); selectSlide(active); createInterval(); }); }); })(jQuery, productsList); Mas a parte que está com problemas é bem provavel que seja esta:function selectSlide(i){ $links.attr('href', list[i].link); $mainList.find('img.slide_'+i).parent().addClass('active'); $title.animate({opacity:0}, function(){ $(this).html(list[i].title); $(this).animate({opacity:1}); }); $text.animate({opacity:0}, function(){ $(this).html(list[i].text); $(this).animate({opacity:1}); }); $imageParent.find('img').before( $('<img />').attr('src', list[i].image).hide().fadeIn() ).fadeOut(); } function slideTimeOut(){ active++; if(active >= list.length){ active = 0; } selectSlide(active); slideInterval = window.setTimeout(slideTimeOut, 3000); } function createInterval(){ slideInterval = window.setTimeout(slideTimeOut, 3000); }
  14. Obrigado, já é um começo. O problema é que os servidores que eu trabalho estão todos com PHP 5.3 E estes métodos (isMail, math, etc) foram apenas exemplos. Quem em sã conciencia faria uma classe chamada string com um método math?
  15. vini_loock

    CTRL + C no PHP

    Cara, PHP não faz esse tipo de coisa, isso você pode fazer com javascript, java, as, etc
  16. O método math, foi apenas um exemplo, posso na hora de instanciar querer chamar qualquer método publico na classe.
  17. Sim, mas o que eu queria, é fazer algo diferente. Além de instanciar, quero poder chamar de imediato um método dessa classe. Ex: $myString = new String('teste').math();Nada de mais, quero apenas instanciar a classe, salvar esta instancia em uma variável, mas já na hora de instanciar, chamar o método math
  18. vini_loock

    [Ajuda] Site Erro

    O erro provavelmente está em um desses arquivos: include("inject.php"); include('page.php'); include"$classefinal.php"; include '404.php'; include "home.php"; include('pages/status.php'); E uma dica: da uma identada no seu código, não te custa nada e só vai te ajudar no caso de erros como este
  19. Olá, estou estudando algumas coisas para um projeto que começarei em breve e estou com uma dificuldade, que na verdade não passa de frescura, mas seria legal se eu conseguisse. Esse sistema trabalhará com muita manipulação de dados, independente dos tipos. Ai eu tava pensando em fazer algo menos PHP, para ficar mais bonito, amigavel... A minha ideia seria criar uma classe para cada tipo(string, int, ..) e trabalhar com elas assim: echo new String('myString')->isMail() O problema é que o PHP exige que depois de instanciar, eu não chame nenhum metodo do objeto, apenas termine a linha. Para contornar isso, criei uma função com o mesmo nome da classe e nessa função eu instancio a classe, no modo de trabalhar ficou quase igual:echo String('myString')->isMail() Isso já até me serve, mas agora estou cismado nisso e quero por todo custo fazer da forma que eu tinha pensado no começo, logo, queria saber de vocês: é possivel fazer isso? Caso eu não tenha sido claro, aqui está um exemplo:<?php class String { protected $_str; public function __construct($str) { $this->_str = (string) $str; } public function get() { return $this->_str; } } function String($str) { return new String($str); } /* * O que eu quero é utilizar assim: * echo new String('teste')->get(); */ echo String('teste')->get(); ?> At, Vinicius
  20. Olá. Estou com um problemão: A aplicação em questão está sendo desenvolvida em MVC, a primeira camada a ser carregada, é o controller, porem, na hora de exibição, ele aparecerá dentro de uma outra camada, chamada template, seria como se o template estivesse incluindo o controller, mas não é bem isso que acontece, toda saida do controller, é guardada(ob_get_flush) em uma variável que será chamada no template. Até então, estava tudo correto, agora que comecei a desenvolver as views é que apareceram os problemas: Quando a saída do controller é muito grande, não funciona direito. O conteúdo até é salvo na variável, mas a saída não é limpa, exibindo assim, o controller duas vezes, uma antes do template e outra onde deveria aparecer(dentro do template). O código está exatamente assim: ob_start(); require $file; Document::component(ob_get_flush()); ob_end_clean(); E o método Document::component()class Document { public static $_component; public static function component($str) { self::$_component = $str; } } Exemplo correto de saída:<html> <head></head> <body> <!-- Saída do controller --> </body> </html> Exemplo de como está saindo:<!-- Saída do controller --> <html> <head></head> <body> <!-- Saída do controller --> </body> </html>
  21. Problema resolvido, na verdade era culpa da UI mesmo, ela estava duplicando o formulário e escondendo o primeiro, assim, quando eu enviava o form, era enviado o que esta escondido, por ter sido definido primeiro no DOM e toda interação feita no formulário que estava a mostra não era enviada. Obrigado
  22. Problema resolvido, na verdade era culpa da UI mesmo, ela estava duplicando o formulário e escondendo o primeiro, assim, quando eu enviava o form, era enviado o que esta escondido, por ter sido definido primeiro no DOM e toda interação feita no formulário que estava a mostra não era enviada. Obrigado
  23. Esquece o que eu disse, o problema está no botão mesmo, pois se eu enviar com um input submit os checkboxes vão normalmente como eu disse antes.
  24. Acabei de verificar e é um problema na interface gráfica que eu to tendo que usar, vou dar uma olhada no código dela e separar as partes que possam estar ocasionando este problema
×
×
  • Criar Novo...