Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola Amigos dos IMASTERS
Estou com um problema no meu site.
Primeiramente acessem www.classitudo.net
Cliquem na chamada em amarelo.
Pois bem, gostaria de estar colocando todas as categorias que serão incluidas no banco de dados em ordem alfabética.
Por exemplo,
A B C D E F G H I J K .....
Lado a Lado.
Queria que quando fosse inserido no banco de dados ja fosse diretamente para a letra.
Alguem pode me ajudar. Como faço isso?
At.
Weslley Aguiar Dias
SELECT * FROM categorias ORDER BY nome ASC
tenho muito pouca experiencia com banco de dados
tipo
se você observarem lá está no momento aparecendo somente INFORMATICA
dentro do codigo a linha que chama as categorias de modo que elas apareçam é a seguinte:
<?$q_ed = mysql_query("SELECT * FROM editoriais order by edi_nome asc");
for($x=0; $x < mysql_num_rows($q_ed); $x++){
$r_ed = mysql_fetch_array($q_ed);?>
<tr>
<td height="20"><div align="center"><b>
<a class="texto_menu" href="index.php?p=noticias&ed_id=<?echo $r_ed[0];?>"><span class="style1"><?echo $r_ed[1];?></span></a><br>
se alguem puder me ajudar
você tem mais categorias cadastradas?
procure utilizar while($var = mysql_fetch_assoc($query)){}
eu entendi como o Lucas, então acho que é assim
$capital = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
foreach($capital as $letter) echo "<a href=\"./?p=ind_cat&letter={$letter}\">{$letter}</a>\n"; // cria os links;
if(isset($_GET['letter'])) {
$query = mysql_query('SELECT * FROM `editoriais` WHERE `edi_nome` LIKE "'.$_GET['letter'].'%" ORDER BY `edi_nome`') or die(mysql_error());
while($row = mysql_fetch_assoc($query)) echo "<a class=\"texto_menu\" href=\"./?p=noticias&ed_id={$row['ed_id']}\"><span class=\"style1\">{$row['ed_nome']}</span></a><br>seguinte galera
vou colocar o codigo todo
o arquivo é o ind_cat.php
segue:
<style type="text/css">
<!--
.style5 {font-family: Geneva, Arial, Helvetica, sans-serif}
-->
</style>
<table cellpadding="0" cellspacing="0" border="0" align="center" width="100%">
<tr>
<td><table cellpadding="0" cellspacing="0" border="0" align="center" width="100%">
<tr>
<td> <td bgcolor="#666666"><img src="images/dot.gif" border="0" width="1" /></td></td>
<td width="100%"><table cellpadding="0" cellspacing="0" border="0" align="center" width="100%" height="100%">
<tr>
<td bgcolor="#666666"><img src="images/dot.gif" border="0" width="1" /></td>
</tr>
<tr>
<td height="7" ><img src="images/dot.gif" border="0" width="1" height="7" /></td>
</tr>
<tr>
<td class="style5"><div align="center"><span class="stile3 "><strong>ESCOLHA ABAIXO A CATEGORIA DO ANÚNCIO/CLASSIFICADOS</strong></span></div></td>
</tr>
<tr>
<td height="7" ><img src="images/dot.gif" border="0" width="1" height="7" /></td>
</tr>
</table></td>
<td bgcolor="#666666"><img src="images/dot.gif" border="0" width="1" /></td>
</tr>
</table></td>
</tr>
<tr>
<td><table cellpadding="0" cellspacing="0" border="0" align="center" width="100%">
<tr>
<td><img src="images/dot.gif" border="0" width="1" /></td>
<td><table cellpadding="0" cellspacing="0" border="0" align="center" width="163">
<tr>
<td colspan="3"><table cellpadding="0" cellspacing="0" border="0" align="center" width="100%">
<tr>
<td bgcolor="#CCCCCC"></td>
</tr>
<?$q_ed = mysql_query("SELECT * FROM editoriais order by edi_nome asc");
for($x=0; $x < mysql_num_rows($q_ed); $x++){
$r_ed = mysql_fetch_array($q_ed);?>
<tr>
<td height="20"><div align="center"><b>
<a class="texto_menu" href="index.php?p=noticias&ed_id=<?echo $r_ed[0];?>"><span class="style1"><?echo $r_ed[1];?></span></a><br>
<img src="images/fundo_rodape_2.jpg" width="490" height="1"></b></div></td>
</tr>
<tr>
<td bgcolor="#CCCCCC"></td>
</tr>
<?}?>
</table></td>
</tr>
</table></td>
<td><img src="images/dot.gif" border="0" width="1" /></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#666666"><img src="images/dot.gif" border="0" width="1" /></td>
</tr>
</table>
<div align="center">
<?include ("capa1_banner.php");?>
<br />
<?include ("capa2_banner.php");?>
<br />
<?include ("capa3_banner.php");?>
<br />
<?include ("capa6_banner.php");?>
<br />
<?include ("capa4_banner.php");?>
<br />
<?include ("capa5_banner.php");?>
<br />
</div>gostaria de fazer isso de maneira
que ele ficasse assim e nao aparecendo as categorias incluidas no sistema
imagina so 400 categorias
ia ser um caos total
tipo
queria que ficasse assim
http://www.supergospel.com.br/
da uma olhada ,como sao colocados os cantores
por letra e em ordem
Faça o seguinte. Crie um for para exibir o menu e passe a letra do menu por GET para uma página. Com este valor, você faz a consulta ao banco de dados e pega todas as categorias que comecem com a letra passada (como o lucaswxp falou no post #2). Algo assim.
for($x = 'a'; $x != 'aa'; $x++)
{
echo '<a href="pagina.php?cat=',$x,'">',$x,'</a>';
}
Este código vai gerar o menu como você quer. No arquivo pagina.php, você resgata esta variável como $_GET['cat'] e faz a consulta.
Carlos Eduardo
aquela barrinha de letras lá em cima são as 2 primeiras linhas do código que eu te passei...
dá uma olhada, você, no site que nos passou. Veja os links "indice.php?inicial=@"
é o mesmo formato das 2 primeiras linhas.
Depois que você recebe e processa qual a Letra inicia a categoria que o visitante deseja listar, basta executar a query indicada pelo Lucas Where nome like "'.$letra.'%"
troque esse for, índices numéricos, assim a manipulação dos resultados sai do seu controle. utilize while/mysql_fetch_assoc() que cada linha obtida te retornará um array simples com os campos buscados
ex
tabela:
[nome] [idade] [sexo] [profissao]
[João] [ 11 ] [ 1 ] [professor]
[José] [ 90 ] [ 1 ] [aposentado]
[Mara] [ 15 ] [ 0 ] [estudante]
consulta:
SELECT * FROM tabela
manipulação:
while($row = mysql_fetch_assoc($sql)) {}
a $row ficará no seguinte formato:
$row = array(
'nome' => 'João',
'idade' => 11,
'sexo' => 1,
'profissao' => 'professor'
);
aí pra manipular, basta chamar por **$row['CAMPO']**;
@Matias: Não sabia dessa soma de variáveis contendo letras. Aprendi mais uma, vlw
Pra pegar um determinado registro, que começa com determinada letra, você pode utilizar o LIKE do mySQL por exemplo. (claro, assumindo que você esteja utilizando MySQL):
Pega todos os titulos começados com A:
SELECT titulo FROM noticias WHERE titulo LIKE 'a%'
com B
SELECT titulo FROM noticias WHERE titulo LIKE 'b%'
C
SELECT titulo FROM noticias WHERE titulo LIKE 'c%'