Jump to content


Photo

Se Tiver Mais Que 20 Não Aparecer


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

#1 The bLk

The bLk

    Doutor

  • Usuários
  • 761 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 03/01/2005, 15:37

Bom, tenho este código:

PHP
 <?
 
include("config.php");
 
$consulta = mysql_query("SELECT * FROM colunas ORDER by id LIMIT 0,5");
 while(
$linha = mysql_fetch_array($consulta)){
 
$id = $linha["id"];
 
$categoria = $linha["categoria"];
 
$nome = $linha["nome"];
 
$coluna = $linha["coluna"];
 
$data = $linha["data"];
 
$cliques = $linha["cliques"];
 
$autor = $linha["autor"];
 echo
substr($nome, 0, 20); echo "... ($data)<br>--- $autor / $categoria<br><br>";
 }
 
?>


Bom, como deu pra perceber ele só mostra as 20 primeiras letras do "$nome" e depois ele aparece "..." como eu posso fazer pra que se ele for igual ou menos a 20 não apareça os 3 pontinhos, só se o nome tiver mais que 20... Entenderam?

[]'s :D

#2 Prog

Prog

    ...

  • Ex-Admins
  • 3761 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro/RJ
  • Interesses:TI, Software Livre, Design Digital e Rock'n'Roll.

Posted 03/01/2005, 15:39

Verifique o tamanho com a função strlen()
------
Mero mortal!

#3 LucasMS

LucasMS

    Super Veterano

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

Posted 03/01/2005, 15:46

PHP

<?
   include
("config.php");
   $consulta = mysql_query("SELECT * FROM colunas ORDER by id LIMIT 0,5");
   while($linha = mysql_fetch_array($consulta)){
   $id = $linha["id"];
   $categoria = $linha["categoria"];
   $nome = $linha["nome"];
   $coluna = $linha["coluna"];
   $data = $linha["data"];
   $cliques = $linha["cliques"];
   $autor = $linha["autor"];
if(
strlen($nome) > 20)
   echo substr($nome, 0, 20);
else
  echo $nome;
echo
"... ($data)<br>--- $autor / $categoria<br><br>";

   }
   ?>

Edição feita por: gbr_chacal, 03/01/2005, 15:46.


#4 The bLk

The bLk

    Doutor

  • Usuários
  • 761 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 03/01/2005, 16:15

Valeu pela ajuda pessoal!

Ficou assim:

PHP
<?
include("config.php");
$consulta = mysql_query("SELECT * FROM colunas ORDER by id LIMIT 0,5");
while(
$linha = mysql_fetch_array($consulta)){
$id = $linha["id"];
$categoria = $linha["categoria"];
$nome = $linha["nome"];
$coluna = $linha["coluna"];
$data = $linha["data"];
$cliques = $linha["cliques"];
$autor = $linha["autor"];
if (
strlen($nome) > 20) {
 echo
substr($nome, 0, 20); echo "... ";
} else {
 echo
"$nome";
}
echo
" ($data)<br>--- $autor / $categoria<br><br>";
}
?>


Agora mais uma dúvida!
Por exemplo:

Eu quero que o nome apareça em negrito! Como faço?

Tentei assim:

PHP
<?
include("config.php");
$consulta = mysql_query("SELECT * FROM colunas ORDER by id LIMIT 0,5");
while(
$linha = mysql_fetch_array($consulta)){
$id = $linha["id"];
$categoria = $linha["categoria"];
$nome = $linha["nome"];
$coluna = $linha["coluna"];
$data = $linha["data"];
$cliques = $linha["cliques"];
$autor = $linha["autor"];
if (
strlen($nome) > 20) {
 echo
"[B]<b>[/B]substr($nome, 0, 20)[B]</b>[/B]" ; echo "... ";
} else {
 echo
"<b>$nome</b>";
}
echo
" ($data)<br>--- $autor / $categoria<br><br>";
}
?>


Ele até da certo, fica em negrito, porém aparece escrito substr...

substr(Gerando um arquivo PDF - Parte 02, 0, 20)... (03/01/2005)
--- Júlio César Martini / PHP

Entenderam, sei que é básico, mas não da certo!

[]'s :D

#5 Hospedar-se .Com

Hospedar-se .Com

    Super Veterano

  • Usuários
  • 1500 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 03/01/2005, 16:24

coloca numa variavel o comando pra depois chamar ela no echo ou print ou printf ...

#6 The bLk

The bLk

    Doutor

  • Usuários
  • 761 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 03/01/2005, 16:35

hehe, cada coisa, simples, era só pensar!!

Valeu ae waldir..

PHP
<?
include("config.php");
$consulta = mysql_query("SELECT * FROM colunas ORDER by id LIMIT 0,5");
while(
$linha = mysql_fetch_array($consulta)){
$id = $linha["id"];
$categoria = $linha["categoria"];
$nome = $linha["nome"];
$coluna = $linha["coluna"];
$data = $linha["data"];
$cliques = $linha["cliques"];
$autor = $linha["autor"];
$comando= substr($nome, 0, 20);
if (
strlen($nome) > 20) {
 echo
"<b>$comando</b>" ; echo "... ";
} else {
 echo
"<b>$nome</b>";
}
echo
" ($data)<br>--- $autor / $categoria<br><br>";
}
?>


:D

#7 patrykrose

patrykrose

    12 Horas

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

Posted 03/01/2005, 16:43

po, nem precisava por em var... mas fica melhor mesmo!
mas vc poderia fazer assim tbm ó:
<?
include("config.php");
$consulta = mysql_query("SELECT * FROM colunas ORDER by id LIMIT 0,5");
while($linha = mysql_fetch_array($consulta)){
$id = $linha["id"];
$categoria = $linha["categoria"];
$nome = $linha["nome"];
$coluna = $linha["coluna"];
$data = $linha["data"];
$cliques = $linha["cliques"];
$autor = $linha["autor"];
if (strlen($nome) > 20) { 
   echo "<b>".substr($nome, 0, 20)."</b> ... ";
} else {
   echo "<b>$nome</b>";
}
echo " ($data)<br>--- $autor / $categoria<br><br>";
}
?> 

valeus!




0 user(s) are reading this topic

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

IPB Skin By Virteq