Jump to content


Photo

Isso Seria...


  • Faça o login para participar
4 replies to this topic

#1 Mr_Armagedon

Mr_Armagedon

    Turista

  • Usuários
  • 45 posts
  • Sexo:Não informado
  • Localidade:Foz do Iguaçu, Pr

Posted 09/04/2004, 21:34

E ai pessoal, tudo bem?
Negócio é o seguinte, eu to montando um site q é um glossario de palavras, tenho elas dentro de um banco mysql, e agora queria listar elas no site.
Queria o seguinte, tenho uma pagina com todas as letras, e ao usuario clicar na letra, abriria a pagina da letra com todas as palavras. Podia monta uma pagina pra cada letra e fazer um select, mas tava querendo pensando o seguinte:
Como faria para fazer com q o codigo entendesse, q ao clicar nakela letra, teria q caminhar para uma proxima, e abrir somente as palavras q comecassem com ela. Eu sei q vo te q mexe com variaveis, mas nao to conseguindo pensa em nada pra usa, dae pensei em query string, mas ainda nao entendi o funcionamento, jah li os tutoriais q tem ai, mas até agora nada, e mesmo lendo, nao consegui imagina uma maneira de usa ela...

Alguem tem alguma ideia?
DEsde jah agradeco a paciencia de todos!

Abraços,
Daniel

#2 danilodepolli

danilodepolli

    Doutor

  • Usuários
  • 987 posts
  • Sexo:Não informado

Posted 10/04/2004, 00:05

Não seria bem query string cara, query string vc usa pra criar paginas assim, index.php?secao=palavras onde vc cria a pagina com o menu e tal e no meio vc mostra o conteúdo....sem ter que ficar alterando a principal toda hora...

Agora pra vc fazer o que vc quer é o seguinte:
Cria uma unica pagina pra mostrar os resultados ok.
Cria as configs de conexão e a query sql ficaria assim:

$query = "SELECT * FROM palavras where letra like '$letra%' order by letra ASC";


Ai vc cria os links
A = pagina.php&letra=A
B = pagina.php&letra=B

E assim por diante...
Com query string ficaria assim, mas vc teria que colocar o codigo da query string aonde vc quer que mostre as palavras.
A = index.php?secao=letra&letra=A
E por ai vai.
Danilo Depolli
danilo@camphost.com.br
CAMPHOST - 1º MES GRATIS EM QUALQUER PLANO! HOSPEDAGEM WEB
QUER PATROCINIO FREE? ENTRE EM CONTATO
ICQ: 7695319
MSN: danilodepolli@bol.com.br

#3 Cristiano Galdino

Cristiano Galdino

    Dark Defender

  • Administradores
  • 3738 posts
  • Sexo:Masculino
  • Localidade:Brasília, DF

Posted 10/04/2004, 02:43

Eu já faria de um modo diferente, pois do jeito citado você teria que fazer um link para á, é, í, ó, ú, 1, 2, 3 (...) e para todos os outros caracteres que não fossem alfas, acho que o melhor método seria:

<?
$letra = $_GET['letra'];
if (!$letra) { $letra = "a"; }
if ($letra == "outros") { $letra = "[[:punct:]]|^[[:digit:]]"; }

$query = "SELECT * FROM table HAVING campo REGEXP '^$letra'";
$result = mysql_query($query);
if(!$result OR mysql_num_rows($result) == 0)
{
if ($letra == "[[:punct:]]|^[[:digit:]]") { $letra = "outros"; }
$letra = htmlentities($letra);
$letra = ucwords(strtolower($letra));

echo("Nenhum resultado na pesquisa pela inicial <b>$letra</b>.");
}
else
{

while ($row = mysql_fetch_array($result))
{
$campo01 = htmlentities($row['campo01']);
$campo02 = htmlentities($row['campo02']);

echo("Campo 01: $campo01\n");
echo("<br>\n")
echo("Campo 02: $campo02\n");
echo("<hr>\n\n")
}

}
?>


Coloque os links assim:

<a href="<? echo $_SERVER['PHP_SELF']; ?>?letra=a">Inicial A</a>
<a href="<? echo $_SERVER['PHP_SELF']; ?>?letra=b">Inicial B</a>
<a href="<? echo $_SERVER['PHP_SELF']; ?>?letra=outros">Inicial Outros</a>

Nesse caso o link que tenha o valor da váriavel letra iqual a outros listará os caracteres que não são alfanuméricos.
Cristiano Galdino
- http://cristiano.galdino.net/

“Since 2003”


#4 Mr_Armagedon

Mr_Armagedon

    Turista

  • Usuários
  • 45 posts
  • Sexo:Não informado
  • Localidade:Foz do Iguaçu, Pr

Posted 10/04/2004, 12:38

E ai pessoal...
Obrigado pelos exemplos, mas vejam soh o q eu tentei fazer...
glossario.php
<font face="Arial" size="2">[ <a href='palavras.php?letra=<?echo $array_cliente['a'];?>&acao=entrar'>a</a>]</font>
<font face="Arial" size="2">[ <a href='palavras.php?letra=<?echo $array_cliente['b'];?>&acao=entrar'>b</a>]</font>

palavras.php
<?
 include "conecta.php"; //Conecta com a nosso banco de dados MySQL

// Página de palavras - palavras.php
 if($acao == 'alterar')


$sql_cliente = mysql_query("select * from palavras where letra ='$letra'") or print(mysql_error());

$array_cliente = mysql_fetch_array($sql_cliente);
?>

<? echo $array_cliente['palavra'];?> 
<? echo $array_cliente['descricao'];?>

Eu penso o seguinte:
Na glossario.php, ao clicado no link, eu vo ta passando pra palavras.php qual é a variavel, assim no select eu posso selecionar todas as palavras q comecem com aquela letra, já que tenho um campo só pra informa qual a inicial.
Ah, minha estrutura do bd é a seguinte:
+------------------+--------------+------+
| Field            | Type         | Null |
+------------------+--------------+------+
| id_palavra       | int(11)      |      |
| inclusao_palavra | datetime     | YES  |
| letra            | char(1)      | YES  |
| palavra          | varchar(255) | YES  |
| descricao        | text         | YES  |
+------------------+--------------+------+

enfim, tenho o campo letra, que quando for cadastrada uma nova palavra, eu terei que selecionar a inicial, e é nele que vai inserido...
Ainda nao tentei os outros codigos, pq nao consegui entende direito, mas vo tenta agora...

Muito obrigado!

Abraços,
Daniel

Edição feita por: Mr_Armagedon, 10/04/2004, 12:39.


#5 blo0d

blo0d

    legal isso.. =X

  • Usuários
  • 154 posts
  • Sexo:Não informado

Posted 22/04/2004, 16:03

<font face="Arial" size="2">[ <a href='palavras.php?letra=<?echo $array_cliente['a'];?>&acao=entrar'>a</a>]</font>
<font face="Arial" size="2">[ <a href='palavras.php?letra=<?echo $array_cliente['b'];?>&acao=entrar'>b</a>]</font>

da onde vem o $array_cliente ? :blink:
gabrieelmk@hotmail.com




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq