Ir para conteúdo
Fórum Script Brasil

charlesschaefer

Membros
  • Total de itens

    38
  • Registro em

  • Última visita

Tudo que charlesschaefer postou

  1. Essa classe eu fiz há pouco tempo, e queria disponibilizar pra galera, pois muitas pessoas entram em fóruns procurando classes e/ou scripts de paginação, mas quase sempre não encontram.... Essa classe gera menus com o seguinte formato: Primeiro anterior 1 2 3 4 5 6 7 8 ... próximo Último Prim.: Anterior 3 4 5 6 7 próximo Último Registros 1 a 5 de 22 Você pode customizar todas as saídas da classe... <?php /** SPagin is a free php class that generate a simple pagination and return a string with the links already formated. Copyright (C) 2006 Charles Schaefer This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /** * Classe que gera a paginação com limite de exibição de resutlados. * @copyright Charles Schaefer - 2006 * */ class SPagin{ var $regs,$exNum,$url,$totReg,$totPag,$pg; var $separador,$tag_pagin,$url_separator; /** * @desc Método construtor da classe * * @param string $regs numero de registro por página * @param string $url endereço da página onde contêm a paginação * @param integer $totReg total de registros contidos no Banco de Dados * @param integer $pg em qual páina estamos * @param integer $exNum nmero de páginas a ser exibida na paginação ex.: exNum =5 (<< < 1 2 3 4 5 > >>) * @param string $separador padrão de separação dos links * @param string $tag_pagin tag na qual será inserida a paginação * @return none */ function SPagin($regs,$url,$totReg,$pg,$exNum="",$separador=' | ',$tag_pagin=""){ $this->regs = $regs; $this->exNum = $exNum;//essa variável deve ser usada para criar uma forma de exibir apenas a quantidade de numeros pedida $this->url = $url; $this->totReg = $totReg; $totPag = $totReg<=$regs ? 1 : ceil($totReg/$regs); $this->totPag = $totPag; $this->pg = ($pg != "") ? $pg : 1; $this->separador = $separador != "" ? $separador : " | "; $this->tag_pagin = $tag_pagin; $this->url_separator = (strpos($url,"?") !== false) ? "&" : "?"; } /** * @desc mêtodo que irá definir os argumentos para serem repassados no "limit", quando se estiver utilizando um banco de dados * @return string limit formatado para usar como cláusula no sql */ function limit(){ $inicio = ($this->pg * $this->regs) - $this->regs;//o primeiro registro a ser puxado do BD $final = $this->regs;//o último a ser puxado do BD $limit = $inicio.",".$final; return $limit; } /** * @desc página que vai devolver o resultado da paginação * * @param string $primeiro o que usar na paginação com inicador de primeiro * @param string $ultimo o que usar na paginação com inicador de ultimo * @param string $prev o que usar na paginação com inicador de próximo * @param string $next o que usar na paginação com inicador de anterior * @return string menu formatado, pronto para ser exibido na tela */ function paginar($primeiro="<<",$ultimo=">>",$prev="<",$next=">"){ $pg = $this->pg; $totPag = $this->totPag; $url = $this->url; $tag_pagin = $this->tag_pagin; $url_separator = $this->url_separator; $primeiro = $primeiro == "" ? "<<" : $primeiro; $ultimo = $ultimo == "" ? ">>" : $ultimo; $prev = $prev == "" ? "<" : $prev; $next = $next == "" ? ">" : $next; if($totPag == $pg) { $pg = $this->pg - 1; $proximo = $next." "; $ultima = $ultimo; $anterior = "<a href=\"".$url.$url_separator."pg=$pg\"> ".$prev."</a> "; $primeira = "<a href=\"".$url.$url_separator."pg=1\">".$primeiro."</a>"; }elseif($pg == 1) { $pg = $this->pg + 1; $proximo = "<a href=\"".$url.$url_separator."pg=$pg\">".$next." </a>"; $anterior = " ".$prev." "; $primeira = $primeiro; $ultima = "<a href=\"".$url.$url_separator."pg=$totPag\">".$ultimo."</a>"; }else { $pg_p = $pg + 1; $pg_a = $pg - 1; $proximo = "<a href=\"".$url.$url_separator."pg=$pg_p\">".$next." </a>"; $anterior = "<a href=\"".$url.$url_separator."pg=$pg_a\"> ".$prev."</a> "; $primeira = "<a href=\"".$url.$url_separator."pg=1\">".$primeiro."<a/>"; $ultima = "<a href=\"".$url.$url_separator."pg=$totPag\">".$ultimo."</a>"; } $pagina = "<p>".$primeira.$anterior; if($this->exNum != "") { $exNum = $this->exNum; $pagina .= $this->paginar_limitado($exNum,$totPag); }else { for($i=1;$i<=$totPag;$i++) { if($i == $this->pg) { $pagina .= "<b>".$i."</b> | "; } else { $pagina .= "<a href=\"".$url.$url_separator."pg=".$i."\">".$i."</a> | "; } }//close for } $pagina .= $proximo.$ultima."</p>"; if($totPag == 1) { $result = "<span style=\"visibility: hidden\">".$pagina."</span>"; }elseif ($tag_pagin != "") { $result = str_replace("><",">".$pagina."<",$tag_pagin); }else { $result = $pagina; } return $result; }//close function /** * @desc Função que irá criar um menu de navegação de páginas com limite de itens (no menu) ex.: << < 1 2 3 4 5 > >> * * @param integer $exNum * @param integer $totalPg * @return string menu formatado */ function paginar_limitado($exNum,$totalPg) { $url = $this->url; $url_separator = $this->url_separator; $separador = $this->separador; $pg = $this->pg; $div = (is_int($exNum/2)) ? $exNum/2 : floor($exNum/2); $centro = (is_int($exNum/2)) ? $exNum/2 : ceil($exNum/2); if($pg == $totalPg) { if($totalPg >= $exNum) { $termina = $totalPg; $comeco = $termina - $exNum +1; $i =$comeco; while($i>=$comeco and $i<=$termina) { $menu .= ($i == $pg) ? "<b>".$i."</b>$separador" : "<a href=\"".$url.$url_separator."pg=".$i."\">".$i."</a>$separador"; $i++; } }else { $comeco = 1; $termina = $totalPg; $i = $comeco; while($i>=$comeco and $i<=$termina) { $menu .= ($i == $pg) ? "<b>".$i."</b>$separador" : "<a href=\"".$url.$url_separator."pg=".$i."\">".$i."</a>$separador"; $i++; } } }elseif ($pg == 1) { $comeco = 1; $termina = $totalPg >= $exNum ? ($comeco + $exNum) -1 : $totalPg; $i = $comeco; //echo $i." ".$termina." ".$exNum." ".$this->exNum; while($i <= $termina and $i >= $comeco) { $menu .= ($i == $pg) ? "<b>".$i."</b>$separador" : "<a href=\"".$url.$url_separator."pg=".$i."\">".$i."</a>$separador"; $i++; } }elseif ($pg < $totalPg - $exNum) { if($pg > $exNum) { $comeco = $pg - $div; $termina = $comeco + $exNum - 1; $i = $comeco; while ($i <= $termina and $i >= $comeco) { $menu .= ($i == $pg) ? "<b>".$i."</b>$separador" : "<a href=\"".$url.$url_separator."pg=".$i."\">".$i."</a>$separador"; $i++; } }elseif ($pg < $exNum) { if($pg > $centro) { $comeco = $pg - $div; $termina = $comeco + $exNum - 1; $i = $comeco; while($i <= $termina and $i >= $comeco) { $menu .= ($i == $pg) ? "<b>".$i."</b>$separador" : "<a href=\"".$url.$url_separator."pg=".$i."\">".$i."</a>$separador"; $i++; } }else { $comeco = 1; $termina = $comeco + $exNum - 1; $i = $comeco; while($i <= $termina and $i >= $comeco) { $menu .= ($i == $pg) ? "<b>".$i."</b>$separador" : "<a href=\"".$url.$url_separator."pg=".$i."\">".$i."</a>$separador"; $i++; } } }elseif ($pg == $exNum) { $comeco = $exNum - $div; $termina = $comeco + $exNum -1; $i = $comeco; while ($i >= $comeco and $i <= $termina) { $menu .= ($i == $pg) ? "<b>".$i."</b>$separador" : "<a href=\"".$url.$url_separator."pg=".$i."\">".$i."</a>$separador"; $i++; } } }elseif ($pg > $totalPg - $exNum){ if($totalPg > $exNum) { //$comeco = $totalPg - $exNum; //$termina = $comeco + $exNum - 1; if($pg <= $totalPg - ($exNum - $centro)) { $comeco = $pg - $div; $termina = $comeco + $exNum - 1; $i = $comeco; while ($i >= $comeco and $i <= $termina) { $menu .= ($i == $pg) ? "<b>".$i."</b>$separador" : "<a href=\"".$url.$url_separator."pg=".$i."\">".$i."</a>$separador"; $i++; } }else { $comeco = $totalPg - $exNum + 1; $termina = $comeco + $exNum - 1; $i = $comeco; while ($i >= $comeco and $i <= $termina) { $menu .= ($i == $pg) ? "<b>".$i."</b>$separador" : "<a href=\"".$url.$url_separator."pg=".$i."\">".$i."</a>$separador"; $i++; } } }elseif ($totalPg <= $exNum) { $comeco = 1; $termina = $totalPg; $i = $comeco; while ($i <= $termina and $i >= $comeco) { $menu .= ($i == $pg) ? "<b>".$i."</b>$separador" : "<a href=\"".$url.$url_separator."pg=".$i."\">".$i."</a>$separador"; $i++; } } }elseif ($pg == $totalPg - $exNum) { $div = floor($exNum / 2); $termina = $totalPg - ($exNum - $div); $comeco = $termina - $exNum + 1; $i = $comeco; while ($i <= $termina and $i >= $comeco) { $menu .= ($i == $pg) ? "<b>".$i."</b>$separador" : "<a href=\"".$url.$url_separator."pg=".$i."\">".$i."</a>$separador"; $i++; } } //die($menu); $menu = rtrim($menu,$separador)." "; return $menu; }//close function /** * @desc função que gera a paginação inteligente, no formato item y a x de n * * @param string $template deve estar no formato "blabla #1 blabla #2 blabla #3 blabalbalbal" sendo que #1,#2,#3 são inicio, final, total, respectivamente. Ex.: item #1 a #2 de #3 ficara "item 10 a 20 de 45" * @return string menu formatado */ function paginar_inteligente($template="") { $menu = ""; $de = $this->pg * $this->exNum - $this->exNum + 1; $a = $this->pg * $this->exNum; $total = $this->totReg; if(!empty($template)) { $tpl = substr_replace(substr_replace(substr_replace($template,$total,strpos($template,"#3"),2),$a,strpos($template,"#2"),2),$de,strpos($template,"#1"),2); $menu = $tpl; }else { $menu = "Itens ".$de." a ".$a." de ".$total; } return $menu; } } ?> quem quiser ver um exemplo dela funcionando, sem banco de dados, com dados estáticos, tem um exemplo em: http://schaefer.myfreewebs.net
  2. provavelmente, se você usar o bd MySQL, o script vai ter uns parâmetros seguindo a gunção mysql_connect(); você vai fazer o seguinte: onde você chamou a função mysql_connect() você faz assim: mysql_connect("o seu servidor", "o nome de usuário do servidor","a senha desse usuário") or die ("Erro na conexão com o servidor! <br><b>".mysql_error()."</b>") assim você também deverá fazer com o local onde está a função mysql_select_db(): mysql_select_db("nome do bd utilizado") or die ("Erro na seleção do bd!<br /><b>".mysql_error()."</b>"); assim vai te dar o erro mysql referente e ai agente pode te ajudar melhor!!!!!
  3. charlesschaefer

    Cadastro Em Php

    como seria esse cadastro cara? seja mais claro por favor!!!!
  4. charlesschaefer

    Split

    mas a função é spliti()??? não é split() não!!!!! acho que é esse o erro hein!!!
  5. charlesschaefer

    Duvida Sou Novo Em Php

    cara, no que puder te ajudar eu ajudo, mas tá meio confuso o que você falo! entra ai no meu MSN e se puder eu te ajudo sim!!! já passei por isso!! charlesdcs@hotmail.com
  6. velho o botão que você está usando não tem função alguma, assim nunca vai enviar o formulário!!!!! você deve usar o submit, como eu falei acima!!!!!
  7. charlesschaefer

    Livro De Visitas

    tenta uma função javascript e chama ela no button, a função deve abrir a page que você quer, só que não tenho a manha em js, tenta no forum js que você deve achar algo legal!!!! flows
  8. cara, você so deve usar o button se tiver uma função para chamar no modo onclick do mesmo, caso contrário você deve usar o submit para enviar o formulário para o link descrio no atb action do form: <form action="pagina.php" method="post" name="nome"> .... .... .... <input type="submit" value="OK!" /> flows...
  9. em todas as pages que você for usar essa sessão você deve colocar o session_start() no comecinho do cdg.... ( o que disse o amigo acima)
  10. or favor, seja um pouco mais claro no que você quer, qualquer coisa entra ai no MSN q se puder ajudar o farei: charlesdcs@hotmail.com flows
  11. sugestãozinha minha seria a seguinte: $ord = $_POST['list']; $sql = "SELECT * FROM tabela ORDER BY $ord"; Sacou? Daí você muda o nome dos option's no form para: <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> Ordenar <select name="list" class=news> <option VALUE="nome">por ordem alfabética <option VALUE="nome DESC">Por ordem decrescente de área . . . etc... te ajuda???
  12. $numero = 0000000002410; $num = (int)$numero; isso vai retornar "2410", agora como torná-lo inserir essa vírgula sem que se saiba o tamanho do número que vai receber eu não sei.... flow ai
  13. charlesschaefer

    Mensagem De Alerta

    não estás no lugar certo mas vamos lá: <script language="javascript"> function alerta(){ alert("Todos os campos devem ser preenchidos!"); return false; } </script> . . . <input type="text" name="nome" onblur="alerta()"> Não sei se é isso mesmo porque minha área é php saca, mas aposto que na área de javascript você vai achar algo melhor!!! flow
  14. charlesschaefer

    Contador De Visitas

    if(!empty($_SESSION['ip'])){ $ip = getenv("REMOTE_ADDR"); session_start(); $_SESSION['ip'] = $ip; //aki você coloca um acesso a mais no bd } else{ //você coloca o resto da page. Continu o script } flow
  15. sim, isso eu sabia, mas como usar para fazer uma pesquisa no bd de cada check box marcado.... fazer com radiobutton ficaria muito complexo....e eu precisava disso pra terminar um sistema que estou fazendo....sacou..... porque olha só, o user vai mandar umas 4 checkboxes selecionadas, como faria pra pegar o valor de cada uma e usar na consulta sql....acho que teria de usar um loop pra isso mas não sei como fazê-lo até mais, e muito obrigado
  16. galera, tenho um sitema de links onde preciso do seguinte: O script faz a consulta no bd e lista todos os sites registrados como BLOQUEADOS com o nome linkado e um checkbox que tem o nome site e valor de cada um é seu nome..... tava querendo fazer com que ao selecionar os checkboxes e clicar no submit, o script atualiza cada um dos links clicados no bd para LIBERADOS.... ai vai o script: $sql = "select * from sites where STATUS='BLOQUEADO'"; $query = mysql_query($sql,$conn) or die ("Falha na consulta ao MySQL! Técnico: ".mysql_error()); echo "Clique na caixa ao lado do nome do site para liberá-lo."; echo "<form method=\"post\" action=\"libera.php\" name=\"formpost\">"; while($array = mysql_fetch_array($query)){ echo "<a href=\"$array[URL]\">$array[NOME]</a>"; echo "<input type=\"checkbox\" name=\"sites\" value=\"$array[NOME]\" /><br />"; } echo "<input type=\"submit\" value=\"Desbloquear\" /></form>"; alguém sabe como fazer isso??? agradeço muito, até mais
  17. acho, e isso tem o sentido pleno da palavra, que você pode usar a função date() do php e gravar o horário de entrada do user em session, quando o user clica no botão você capta novamente o horário e subtrai do valor gravado em session. não sei como subtrair as datas e como usar a função para receber somente horas mas eu usaria assim: $hora = '10:50:25';//gravado na session $novahora = '12:21:10'; //horário que você acbou de capturar $hora1 = explode(":",$data); $novahora1 = explode(":"$data); $finalhour = $novahora1['0'] - $hora1['0']; $finalminute = $novahora1['1'] - $hora1['1']; $finalsecond = $novahora1['2'] - $hora1['2']; $horafinal = $finalhour.":".$finalminute.":".finalsecond; acho que assim seria legal....não testei mas veja ai lembrando que pode ter erros mesmo porque sou iniciante também até mais
  18. charlesschaefer

    Funcao Now()

    tudo certo o que o micuim falou, no entanto você deve adicionar a função NOW() sem aspas, creio que com aspas será adicionado a função como uma string "NOW()". num testei com aspas, mas sempre uso sem aspas aki, veja ai até mais
  19. na página de conexão você colocou a variável $conexao com os dados para conectar ao db.... na page login.php, quando você for fazer a query faça assim: $query = mysql_query('query-sql','string conexão'); no seu caso seria assim: $resultado = mysql_query("SELECT * FROM usuarios WHERE ua = '$ua' AND senha = '$senha'",$conexao);
  20. charlesschaefer

    Ajuda Com Edição

    tira as '' (aspas simples) do : action=\"$SERVER[php_SELF]\" De vez em quando da esse erro comigo aki e só funciona tirando as aspas se num der posta
  21. tenta assim: $string = "select * from login where usuario=\"$nome\""; $res = mysql_query($string,$conec); if($senha == mysql_result($res,0,'senha')){ (resto do código) } ou assim: $string = "select * from login where usuario=$nome and senha=$senha"; $res = mysql_query($string,$conec); $result = mysql_num_rows($res); if($result == "0"){ (código para informar o erro no digito das info) } qlquer dúvida post
  22. Cara muito obrigado, eu tinha feito essa mudança logo cedo e deu certo, acho que agora sai legal o sisteminha aki, brigadao.....
  23. galera tenho um form para inserir cpf em uma tabela.... o script analisa se existe algum registro na table com os dados do user, caso tenho redireciona para outra pg, se não tiver adiciona o nome, numero, cpf e tal.... minha table é essa create table administra ( ID_AD int(4) not null auto_increment, NOME char(60) not null, EMPRESA char(50) not null, CPF int(11) not null default '00000000000', NUMERO char(11) not null, STATUS char(9) not NULL default 'BLOQUEADO', data date not null default '0000-00-00', KEY ID_AD(ID_AD) ) TYPE=MyISAM auto_increment=1; acontece que quando executo o script, qualquer que seja o valor adicionado para o cpf ele insere o número "2147483647". o código: <?php if(getenv("REQUEST_METHOD") == "POST"){ include "conecta.php"; include "functions.php"; $nome = nosqlinj($_POST['nome']); $cpf = nosqlinj($_POST['cpf']); $cpf2 = nosqlinj($_POST['cpf2']); $empresa = nosqlinj($_POST['empresa']); $numero = nosqlinj($_POST['numero']); $stat = nosqlinj($_POST['status']); if(($cpf != $cpf2) or ($cpf == "")){ echo "Por favor, digite os números de cpf iguais nos dois campos!!"; header("refresh:02;URL=insere.php"); } else{ $sqlconf = "select NOME,CPF from administra where NOME='$nome' and CPF='$cpf';"; $conf = mysql_query($sqlconf,$conn) or die ("sem conexão! Técnico: ".mysql_error()); $result = mysql_num_rows($conf); //echo $result; if($result != 0) { die ("O CPF e o nome digitados já estão cadastrados. Por favor digite outros cpf e nome!"); } else { echo $cpf; $sql = "insert into administra (NOME,EMPRESA,CPF,NUMERO,STATUS) values ('$nome','$empresa','$cpf','$numero','$stat');"; /*AQUI É QUE EU INSIRO OS DADOS NA TABLE*/ $query = mysql_query($sql,$conn) or die ("erro ao tentar inserir dados! Técnico: ".mysql_error()); $num = mysql_affected_rows(); if($num != 0){ echo "OK! Os dados foram inseridos com sucesso!!"; } else { echo "Falha na gravação dos dados!! Entre em contato com o desenvolvedor!!"; } } } } ?> O incrível é que já alterei minha tabela e coloquei o cpf como char, não deu certo. o campo número eu já troquei para int(9) pra ver se dava a mesma coisa e nada.... mudei o nome do campo cpf para cpf_us e ter certeza de que não existe uma função mysql com esse nome e tal....NADA.... to ficando louco já... alguém sabe o que pode estar acontecendo!!!! Por favor, Me ajudem. Muito obrigado pela atenção e até mais!!! Ahhh, não é erro da função que chamo com o include também porque antes e depois da inserção dos dados na table eu coloquei echo $cpf; e imprimiu o valor certo do cpf.... até mais
×
×
  • Criar Novo...