Jump to content


raf_potter

Member Since 10/10/2003
Offline Last Active 22/07/2006, 12:30
-----

Topics I've Started

Paginação De Resultado Em Busca Do Mysql

17/07/2006, 20:32

Bom Tenho a página de PHP abaixo na qual há a procura no bd dos resultados isto é dos membros, só que estando com muitos usuarios como estou demora para carregar gostaria de fazer uma páginação nos resultados isto é colocar um limite na busca de por exemplo 50 resultados por página tendo a opção de ir para a página 1, 2, 3, 4.. de acordo com o número de usuários que há.
Tentei já algumas vezes fazer isto mas todas as tentativas foram frustradas, alguém vê a saída desta situaçao? Obrigado jã por ter lido.

O Código da Página.
<?php

error_reporting(E_ALL ^ E_NOTICE);

$host   = 'localhost';		 // Host do MySQL

$user   = 'xxxxxxx';			  // Usuário do MySQL

$pass   = 'xxxxxxx';				  // Senha do MySQL

$banco  = 'rafael_principal';			  // Nome do banco de dados

$tabela = 'auth_usuarios';  // Nome da Tabela onde ficará os dados dos usuário



 $linkid = mysql_connect($host, $user, $pass) or die ('Erro ao Concectar no Banco de Dados');

  mysql_select_db($banco, $linkid) or die ('Erro ao Selecionar o Banco de Dados');



  $conteudo = '';

 if (!isset($acao)) {

   $conteudo .= '<tr align="right" bgcolor="#1D1D1D" ></tr>';

   $resultado = mysql_query("SELECT id, nome, sexo, email, niver, cidade, estado, pais, msn, icq, about, nivel FROM $tabela ORDER BY id ASC;");

 while ($users = mysql_fetch_array($resultado)) {

   $conteudo .= '<center>
	<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="367" id="AutoNumber1" bordercolor="#666666" height="144" bgcolor="#EDECEE">

	<tr>

	  <td width="17" valign="top" bgcolor="#002552" rowspan="3" height="25"> </td>

	  <td width="179" valign="top" height="16" bgcolor="#EDECEE">
	  <font face="Verdana" size="1" color="#2C2C2C">ID:<b> '.$users['id'].'</b></font></td>

	  <td width="180" valign="top" height="16" bgcolor="#960018">

	  <p align="center"><b><font face="Verdana" size="1" color="#FFFFFF">::Membro FCdH ::</font></b></td>

	</tr>

	<tr>

	  <td width="359" valign="top" height="8" colspan="2">

	  <font face="Verdana" size="1"><font color="#2C2C2C">Nome:</font><b> '.$users['nome'].'   </b></font></td></td>

	</tr>

	<tr>

	  <td width="359" valign="top" height="5" colspan="2">

	  <font face="Verdana" size="1"><font color="#2C2C2C">Sexo: </font> <b>'.$users['sexo'].'</b></font></td></tr>

	<tr>

	  <td width="17" height="118" valign="top" rowspan="7" bgcolor="#960018"> </td>

	  <td width="359" height="16" valign="top" colspan="2">

	  <font face="Verdana" size="1"><font color="#2C2C2C">Data de Nascimento:</font><b><font color="#2C2C2C">
	  </font>'.$users['niver'].'</b></font></td></td>

	</tr>

	<tr>

	  <td width="178" height="16" valign="top"><font face="Verdana" size="1">

	  <font color="#2C2C2C">Cidade:</font><b> '.$users['cidade'].'</b></font></td></td>

	  <td width="181" height="16" valign="top"><font face="Verdana" size="1">
	  <font color="#2C2C2C">UF:</font> <b>'.$users['estado'].'</b></font></td>

	</tr>

	<tr>

	  <td width="359" height="16" valign="top" colspan="2">

	  <font face="Verdana" size="1"><font color="#2C2C2C">País:</font><b> '.$users['pais'].'</b></font></td><font face="Verdana" size="1">                                      </font></td>

	</tr>

	<tr>

	  <td width="359" height="16" valign="top" colspan="2" bordercolor="#333333">

	  <font face="Verdana" size="1"><font color="#2C2C2C">E-mail:</font> <a href="mailto:'.$users['email'].'"><img border="0" src="carta_pb.gif" width="15" height="10"></a></font></td>

	</tr>

	<tr>

	  <td width="359" height="16" valign="top" colspan="2">

	  <font face="Verdana" size="1"><font color="#2C2C2C">Msn:</font> <b>'.$users['msn'].'</b></font></td></td>

	</tr>

	<tr>

	  <td width="359" height="16" valign="top" colspan="2">

	  <font face="Verdana" size="1"><font color="#2C2C2C">Icq:</font> <b>'.$users['icq'].'</b></font></td>

	</tr>

	<tr>

	  <td width="359" height="16" valign="top" colspan="2">

	  <font face="Verdana" size="1"><font color="#2C2C2C">Nível:</font> <font face="Verdana"><b><i>'.(($users['nivel'] == '1') ? 'Administrador' : 'Membro').'	</i></b></font></font></td>

	</tr>

  </table></center>';

  }mysql_free_result($resultado);

 } else if ($acao == 'adicionar') {

  if ($login == '' OR $senha == '' OR (!eregi("^([a-z]|[0-9]|\.|-|_)+@([a-z]|[0-9]|\.|-|_)+\.([a-z]|[0-9]){2,5}$", $email) && !eregi("(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)", $email)) OR !is_numeric($nivel)) {

   $conteudo .= '<form action="'.$PHP_SELF.'?acao=adicionar" method="POST">

	<tr><td><font face="Verdana" size="2"><b>Usuário:</b></font></td><td width="85%" align="left"><input type="text" name="login" value="'.$login.'" size="27" maxlength="'.$tamanho_login.'"></td></tr>

	<tr><td><font face="Verdana" size="2"><b>Senha:</b></font></td><td width="85%" align="left"><input type="password" name="senha" value="'.$senha.'" size="25" maxlength="'.$tamanho_senha.'"></td></tr>

	<tr><td><font face="Verdana" size="2"><b>E-mail:</b></font></td><td width="85%" align="left"><input type="text" name="email" value="'.$email.'" size="30" maxlength="'.$tamanho_email.'"></td></tr>

	<tr><td><font face="Verdana" size="2"><b>Nível:</b></font></td><td width="85%" align="left"><select size="1" name="nivel"><option value="0" selected>Membro</option><option value="1">Administrador</option></select></td></tr>

	<tr><td colspan="2" align="center"><input type="submit" value=" Adicionar "></td></tr></form>';

  } else {

   $resultado = mysql_query("SELECT id FROM $tabela WHERE login='$login' LIMIT 1;", $linkid);

	if (mysql_num_rows($resultado) == '1') {

	 $conteudo .= '<tr><td colspan="2" align="left"><font size="3" face="Verdana" color="#FF0000"><b>>> Esse Usuário já Exite</b></font></td></tr>';

	} else {

	 $senha_cry = crypt($senha, CRYPT_MD5);

	 mysql_query("INSERT INTO $tabela (login, senha, email, nivel) VALUES ('$login', '$senha_cry', '$email', '$nivel');", $linkid);

	 header("Location: $pagina_admin");

	  exit();

   }

  @mysql_free_result($resultado);

  }

 } else if ($acao == 'modificar') {

  if ($id == '') {

   $conteudo .= '<form action="'.$PHP_SELF.'?acao=modificar" method="POST">

	<tr><td><b>ID/Usuário:</b></td><td width="85%" align="left"><input type="text" name="id" value="" size="40"></td></tr>

	<tr><td colspan="2" align="center"><input type="submit" value=" Modificar "></td></tr></form>';

  } else {

   $resultado = mysql_query("SELECT * FROM $tabela WHERE (id='$id' OR login='$id') LIMIT 1;", $linkid);

	if (mysql_num_rows($resultado) != '1') {

	 $conteudo .= '<tr><td colspan="2" align="left"><font size="3" face="Verdana" color="#FF0000"><b>>> Esse Usuário Não Exite</b></font></td></tr>';

	} else {

	 if ($modo == 'modifique' && (eregi("^([a-z]|[0-9]|\.|-|_)+@([a-z]|[0-9]|\.|-|_)+\.([a-z]|[0-9]){2,5}$", $email) && !eregi("(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)", $email)) && is_numeric($nivel)) {

	  if ($senha != '') {

	   $senha_cry = crypt($senha, CRYPT_MD5);

	   $sql_senha = "senha='$senha_cry', ";

	  }

	  mysql_query("UPDATE $tabela SET ".$sql_senha."email='$email', nivel='$nivel' WHERE id='$id' LIMIT 1;", $linkid);

	  header("Location: $pagina_admin");

	   exit();

	 } else {

	  $usuario = mysql_fetch_array($resultado);

	  $conteudo .= '<form action="'.$PHP_SELF.'?acao=modificar&id='.$usuario['id'].'&modo=modifique" method="POST">

	   <tr><td><b>ID:</b></td><td width="85%" align="left">'.$usuario['id'].'</td></tr>

	   <tr><td><b>Usuário:</b></td><td width="85%" align="left">'.$usuario['login'].'</td></tr>

	   <tr><td><b>Senha:</b></td><td width="85%" align="left"><input type="password" name="senha" value="" size="25" maxlength="'.$tamanho_senha.'"> <b>(NOVA)</b></td></tr>

	   <tr><td><b>E-mail:</b></td><td width="85%" align="left"><input type="text" name="email" value="'.$usuario['email'].'" size="30" maxlength="'.$tamanho_email.'"></td></tr>

	   <tr><td><b>Nível:</b></td><td width="85%" align="left"><select size="1" name="nivel"><option value="0"'.(($usuario['nivel'] == '0') ? ' selected' : '').'>Membro</option><option value="1"'.(($usuario['nivel'] == '1') ? ' selected' : '').'>Administrador</option></select></td></tr>

	   <tr><td colspan="2" align="center"><input type="submit" value=" Mudar "></td></tr></form>';

	 }

	}

   @mysql_free_result($resultado);

  }

 } else if ($acao == 'deletar') {

  if ($id == '') {

   $conteudo .= '<form action="'.$PHP_SELF.'?acao=deletar" method="POST">

	<tr><td><b>ID/Usuário:</b></td><td width="85%" align="left"><input type="text" name="id" value="" size="40"></td></tr>

	<tr><td colspan="2" align="center"><input type="submit" value=" Deletar "></td></tr></form>';

  } else {

   $resultado = mysql_query("SELECT id FROM $tabela WHERE (id='$id' OR login='$id') LIMIT 1;", $linkid);

	if (mysql_num_rows($resultado) != '1') {

	 $conteudo .= '<tr><td colspan="2" align="left" valign="top"><font size="3" face="Verdana" color="#FF0000"><b>>> Esse Usuário Não Exite</b></font></td></tr>';

	} else {

	 $usuario = mysql_fetch_array($resultado);

	 mysql_query("DELETE FROM $tabela WHERE id='$usuario[id]' LIMIT 1;", $linkid);

	 header("Location: $pagina_admin");

	  exit();

	}

   @mysql_free_result($resultado);

  }

 } else if ($acao == 'emails') {

  if ($assunto == '' OR $mensagem == '' OR $emails == '') {

   $email = '';

   $resultado = mysql_query("SELECT email FROM $tabela ORDER BY id ASC;");

 while ($users = mysql_fetch_array($resultado)) {

   $o_email = trim($users['email']);

	if ($o_email != '') {

	 $email .= ''.$o_email.': ';

   }

  }

 @mysql_free_result($resultado);

   $conteudo .= '<form action="'.$PHP_SELF.'?acao=emails" method="POST">

	<tr><td valign="top"><font face="Verdana" size="2"><b>E-mails:</b></font></td><td width="85%" align="left"><textarea name="emails" cols="35" rows="4">'.$email.'</textarea></td></tr>

	<tr><td><font face="Verdana" size="2"><b>Assunto:</b></font></td><td width="85%" align="left"><input type="text" name="assunto" value="" size="27"></td></tr>

	<tr><td valign="top"><font face="Verdana" size="2"><b>Mensagem:</b></font></td><td width="85%" align="left"><textarea name="mensagem" cols="30" rows="6"></textarea></td></tr>

	<tr><td colspan="2" align="center"><input type="submit" value=" Enviar "></td></tr></form>';

  } else {

   $paras = explode(':', $emails);

   foreach ($paras as $para) {

	$para = trim($para);

	if ($para != '') {

	 mail($para, $assunto, $mensagem, "From: $nome_master <$email_master>");

	}

   }

   header("Location: $pagina_admin");

	exit();

  }

 } else {

   header("Location: $pagina_admin");

	exit();

 }



  $total_users = mysql_query("SELECT id FROM $tabela ORDER BY id ASC;", $linkid);

  $total = mysql_num_rows($total_users);

   @mysql_free_result($total_users);



  @mysql_close($linkid);

?>

<html>

<head>
<meta http-equiv="Content-Language" content="pt-br">
<center>

Resultado
<p> </p>

<table width="500" border="1" cellspacing="0" cellpadding="3" bordercolor="#000000" style="border-collapse: collapse">
<tr>

<td width="500" valign="top" bgcolor="#333333" bordercolor="#333333"> <table width="100%" border="0" cellspacing="1" cellpadding="1" bordercolor="#333333">

<?php echo $conteudo; ?>

</table></td>


	</center>



</html>

Niver Em Php

28/02/2006, 19:13

Tenho num banco de dados(mysql) uma tabela com mais de 1000perfis de usuários, todos com $nome, $nick, $sexo, $cidade, $uf..e inclusive data de nascimento($niver) em formato dd/mm/aaaa ((28/02/2005)) e tava querendo montar uma página em .php que buscasse de acordo com o dia e mês que a página está sendo visitada (dd/mm) uma lista de resultado de uma pesquisa feita dentro desta tabela de perfis com aí os respectivas informações do registro:
O nome($nome) - cidade($cidade)/Estado($uf) - data de nascimento($niver)
dos respectivos aniversáriantes do dia...

Exemplo prático:

"Hoje dia 28 de Fevereiro,
Parabéns para:
(Resultado da pesquina do mysql)
João A - São Paulo/SP - 28/02/1988
Maria B. - Rio de Janeiro/RJ - 28/02/1980
Leandro C. - Belo Horizonte/MG - 28/02/1995

Alguém tem alguma idéia de como deveria ser feita está página .php?

Abraçaum a todos! :)

RaFaEL

IPB Skin By Virteq