Sign in to follow this  
Naty_Za

Formatações

Recommended Posts

Gente, to com um problema... tenho um sistema de cadastros de empresas por categoria..

então, os cadastros são listados por categoria, e dentro da sua categoria são mostrados em ordem alfabética..

e então, por exemplo, um cadastro que se chama "Voice Comunicação" vai aparecer no fim da lista, por ser na letra V..

então, eu pensei em fazer um esquema de destaque... tipo, se eu quisesse colocar esse "Voice" em 1º lugar na lista, como eu faria??

colocaria algum comando no cadastro dele????? gostaria também, que além de ficar no inicio, tivesse por exemplo, uma barrinha colorida em volta do cadastro, pra dar mais destaque ainda, sabe???

mas não estou conseguindo.. me ajudem por favor!!!

vou postar o código da minha página que mostra os cadastros!

<?php
$consulta = mysql_query("SELECT sub.titulo, endereco, cidade, estado, tel, email, http FROM cadastros sub inner join classes cs on cs.id_cadastro = sub.id where cs.id_submenu = $id_submenu") or die (mysql_error());

$consulta2 = mysql_query("SELECT * FROM classes WHERE id_submenu = '$id_submenu' ORDER BY servicos, destaque") or die (mysql_error());

$conta = mysql_num_rows($consulta);
if ($conta == 0){
echo "NÃO TEM REGISTROS!";
}else{

while( ($verifica = mysql_fetch_array($consulta)) && ($verifica2 = mysql_fetch_array($consulta2)) ) {

$id_submenu = $verifica2["id_submenu"];
$servicos = $verifica2["servicos"];
$destaque = $verifica2["destaque"];

$id = $verifica["id"];
$titulo = $verifica["titulo"];
$endereco = $verifica["endereco"];
$cidade = $verifica["cidade"];
$estado = $verifica["estado"];
$tel = $verifica["tel"];
$email = $verifica["email"];
$http = $verifica["http"];

echo"
<font face=Verdana, Arial, Helvetica, sans-serif><font size=1><strong><a href=\"http://$http\"
target=\"_blank\" >$titulo</strong></a></strong><br></font>
<i>Serviços: $servicos</i><BR>
Endereço: $endereco<BR>
$cidade - $estado<BR>
Tel: $tel<BR>
Email: <a href=mailto:$email>$email</a><BR>
<img src=$destaque><br>
<BR><BR>
";
}
}
?>

Valeeww pessoal!!!

Share this post


Link to post
Share on other sites

Cria mais um campo na tabela do tipo INT e nele inclui valores, onde por exemplo 0 é "normal" e 1 é destacado, ai na query você coloca para ordenar primeiro por esse novo campo e depois pelo nome da empresa...acho que essa idéia também funcionaria com um campo do tipo ENUM...

Share this post


Link to post
Share on other sites

oi ESerra..

criei o campo "destaque" do tipo INT

E como que ficaria na query então??? to perdida!!!

porque não sei se você viu, eu coloco pra listar não somente da tabela "cadastros", mas sim da tabela "classes" que é a tabela que especifica qual cadastro vai pra qual categoria!

Me ajudaaaa pls...

valeeuu!!

Edited by Naty_Za

Share this post


Link to post
Share on other sites

Você pode ordenar primeiuro pelo número, depois pela ordem alfabética, desta forma:

Select * From tabela Order By campo_destque, nome;

A ordenação será feita primeiro pelo campo INT depois alfabeticamente. ;)

Abraços,

Beraldo

Share this post


Link to post
Share on other sites

Oi Beraldo..

Então, só que é o seguinte... eu tenho 3 tabelas:

a de "cadastros"

a de "submenu" - que são as categorias

e a de "classes" que é uma tabela que indica qual cadastro vai em qual categoria..

porque assim: eu não coloquei um campo junto no "cadastros" de categoria, porque 1 só cadastro pode estar em várias categorias, e não apenas em 1.

por isso que tem essa 3ª tabela..

então, na hora de mostrar os cadastros por categoria, eu fiz um JOIN.. falando pra mostrar os dados da tabela "cadastos" de acordo com o que está estipulado na tabela "classes"

por isso to me complicando..

não tem como eu fazer um query como me mostrou, porque o campo "destaque" não está na mesma tabela do "nome", tão pouco ela é puxada assim normalmente.. só através do JOIN

então, por isso criei o campo "destaque" na tabela "classes", pra que eu coloque em destaque a empresa somente em 1 categoria que eu determinar, e não em todas em que ela estiver cadastrada, o que aconteceria, se eu colocasse o destaque na tabela dos "cadastros" junto com o "nome"

É confuso né?? por isso to perdida!!!

aiaiaiaia..

pls!! help-me

valeww

Edited by Naty_Za

Share this post


Link to post
Share on other sites

Já tentou desta forma?

Select t1.*, t2.* From tabela1 as t1 Inner Join tabela2 as t2 on t1.id = t2.id Order By t1.destaque, t2.nome;

Nesse caso os dados são ordenados segundo campos de duas tabelas. Não sei se funciona. Teste aí e diga se deu certo :)

Abraços,

Beraldo

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this