Jump to content


Photo

Como Mostrar Foto E Txt Destaque


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

#1 jamsbboy

jamsbboy

    Ativo

  • Usuários
  • 319 posts
  • Sexo:Masculino

Posted 02/01/2009, 20:04

Olá pessoal, estou terminando um site de noticias aqui para um cliente.
até então eu estava feliz pq já tinha finalizado, mas o sócio :boxing: do cidadão deu uma sujestão ao meu cliente e me travou aqui.

É um site de noticias, até então ele mostra em ordem as ultimas 5 noticias cadastras.
mas ele sujeriu que mostrasse uma foto e um pouco do texto da ultima noticia cadastrada.

Tentei usando control+c control+v de outros sistemas.. mas nao consegui :wacko:

no index eu fiz um include("noticias.php")

abaixo o code noticias.php

e mais abaixo um exemplo em JPG de como eu preciso deixar.

<?php

if(!isset($noticia)){
?><title>x</title><body link="#990000">

<font color="#990000" size="1" face="Verdana, Arial, Helvetica, sans-serif"> Notícias:.......................................................................................................</font><br />
<?php
//Mostra todas as notícias inseridas no banco de dados e organiza em ordem
//decrescente com relação a hora de criação com um limite de 5 noticias por consulta
$resultado = mysql_query('SELECT ID, titulo, data FROM supernews ORDER BY data DESC LIMIT 0, 5');
if(!$resultado){
die("Erro na solicitação de query: " . mysql_error() . '<br>');
}
//Verifica se há alguma noticia amazenada no banco de dados
if(mysql_num_rows($resultado) == 0){
?><br>
<?php
} else {
//Realiza um loop atrás das informações inseridas na tabela supernews
while($row = mysql_fetch_array($resultado)){
$id = $row['ID'];
$titulo = $row['titulo'];
$data = $row['data'];
print('<font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#666666">' . formatData($data) . '<br>
<font face="Verdana, Arial, Helvetica, sans-serif" size="2" ><a class="titulo" href="?noticia=' . $id . '&titulo=' . $titulo . '">' . htmlentities($titulo) . '</a></font><br><img src="imgx/espace.jpg" width="6" height="6"><br>');
}
}

//Busca pela noticia com referencia ao $id selecionado
}elseif(isset($noticia)){
$id = $noticia;
$resultado = mysql_query("SELECT * FROM supernews WHERE ID=$id");
if(!$resultado){
die("Impossível visualizar esta notícia: " . mysql_error() . '<br>');
}

//Realiza um loop atrás das informações inseridas na tabela supernews
while($row = mysql_fetch_array($resultado)){
$diretorio = $row['diretorio'];
$largura = $row['largura'];
$altura = $row['altura'];
$titulo = $row['titulo'];
$conteudo = $row['conteudo'];
$data = $row['data'];
?>
<table width="100%" align="center" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><font face="Verdana, Arial, Helvetica, sans-serif" color="#990000" size="3"><b><?php print(htmlentities($titulo)); ?></b></font></td>
</tr>
<tr>
<td><font face="Verdana, Arial, Helvetica, sans-serif" color="#666666" size="1"><b><?php print(formatData($data)); ?></b></font> </td>
</tr>
<tr>
<td><img src="imgx/espace.jpg" width="6" height="6"></td>
</tr>
<tr>
<td>
<?php if($diretorio == ""){ //se o diretorio for igual a vazia isso significa que é uma noticia sem imagem e mostra so a noticia
?>
<div align="left"><font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2"><?php print(nl0br(htmlentities($conteudo))); ?></font></div>
<?php } else { //caso contrario mostra a noticia com a imagem
?>
<tr>
<td>
<img src="admin/<?= $diretorio; ?>" width="<?= $largura; ?>" height="<?= $altura; ?>" align="left" border="0" cellpadding="0" cellspacing="6"></p>
</td>
</tr>
<tr>
<td><img src="imgx/espace.jpg" width="6" height="6"></td>
</tr>
<tr>
<td>
<font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2"><?php print (nl2br(htmlentities($conteudo))); ?></font></p>
</td>
</tr>
<?php } ?>
</td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><div align="center"><a href="java script:self.print()" onMouseOver="window.status='Imprimir'; return true"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Imprimir</font></a><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
<font color="#990000">|<a href="java script:history.go(-1);"> Voltar</a> |</font> <a href="painel_de_noticias.php" target="_self">Painel de Notícias</a> <font color="#990000">|</font> <a href="#top">Topo</a></font></div></td>
</tr>
</table>
<?php
}
?>
<br>
<font color="#990000" size="1" face="Verdana, Arial, Helvetica, sans-serif">Outras Notícias.............................................................................................</font><br>
<?php
//aproveita a conexao aberta para mostra as noticias diferentes da que a pessoa está lendo
$resultado1 = mysql_query("SELECT * FROM supernews WHERE ID<>$id ORDER BY data DESC LIMIT 0, 5");
if(!$resultado1){
die("Impossível visualizar esta notícia: " . mysql_error() . '<br>');
}
if(mysql_num_rows($resultado1) == 0){
?><br>
<?php
} else {
//Realiza um loop atrás das noticias inseridas na tabela supernews
while($row = mysql_fetch_array($resultado1)){
$id = $row['ID'];
$titulo = $row['titulo'];
print('<font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000"><a class="titulo" href="?noticia=' . $id . '&titulo=' . $titulo . '">» ' . htmlentities($titulo) . '</a></font><br>');
}
}
}
?>



Obrigado pela atenção! :rolleyes:

Attached Files


Edição feita por: jamsbboy, 02/01/2009, 20:05.

IG- O Mundo é de quem faz! --- http://www.quemfaz.com.br

#2 Squall Robert

Squall Robert

    Mr. Squall - Mais Carne do que Osso (hihi)

  • Usuários
  • 507 posts
  • Sexo:Masculino
  • Localidade:Curitiba
  • Interesses:Php ... Php...Php

Posted 02/01/2009, 20:48

ai man...

se vai ter que colocar no formulário de cadastro um upload de foto

ai vc pode usar a GD pra gerar os thumbs das imagens para mostrar ...

inlusive postei uma classe pra fazer isso

da uma olhada

http://forum.wmonlin...howtopic=211665

falows....
<?php

$squall = new Squall();

$squall->Ajudando("você");

$resultado = $squall->solucao();  ?>

#3 jamsbboy

jamsbboy

    Ativo

  • Usuários
  • 319 posts
  • Sexo:Masculino

Posted 02/01/2009, 21:22

Não Squall Robert... vc não entendeu!!!

O sistema é de cadastro de noticias com foto e talz... eu só quero fazer mostrar na pag principal do site uma foto e trechos da ultima noticia cadastrada.... como no JPG q fiz...


Desdej agradeço sua atenção!

:huh:
IG- O Mundo é de quem faz! --- http://www.quemfaz.com.br

#4 Alex Hiroshi

Alex Hiroshi

    Super Veterano

  • Ex-Admins
  • 4923 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 02/01/2009, 21:33

O 'notícias' que está mais para baixo são as outras últimas adicionadas? Se for, é só verificar qual é a primeira notícia que vai aparecer (a última cadastrada) e mostrar com a foto. As outras pode mostrar normalmente.
Um exemplo simples:
while (...)
{
	if (primeiro?)
	{
		// mostra a foto com parte da notícia
	}
	// continua mostrando a lista normal, sem a foto e parte da notícia
}

Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Ex-Administrador

#5 jamsbboy

jamsbboy

    Ativo

  • Usuários
  • 319 posts
  • Sexo:Masculino

Posted 02/01/2009, 21:42

isso quando clicada ela abre com foto e talz..... mas ali na primeira parte das noticias ond mostra as 5 primeiras.. que eu prociso imprimir um miniatura da 1º noticia

ai o resultado da primeira consulta eu mudaria para order by desc 1,4...

Edição feita por: jamsbboy, 02/01/2009, 21:45.

IG- O Mundo é de quem faz! --- http://www.quemfaz.com.br

#6 Crab

Crab

    Da paz, mas preparado para Guerra

  • Ex-Admins
  • 2521 posts
  • Sexo:Masculino
  • Localidade:Florianópolis - SC
  • Interesses:Desenvolvimento Gráfico e Web.

Posted 02/01/2009, 22:24

isso quando clicada ela abre com foto e talz..... mas ali na primeira parte das noticias ond mostra as 5 primeiras.. que eu prociso imprimir um miniatura da 1º noticia

ai o resultado da primeira consulta eu mudaria para order by desc 1,4...



é como o Alex falou :huh: e uma dica para aparecer apenas um trecho do texto seria uma função que tem lá no banco de funções aqui em PHP procure no fórum por str_truncate

(y)Até mais

#7 Squall Robert

Squall Robert

    Mr. Squall - Mais Carne do que Osso (hihi)

  • Usuários
  • 507 posts
  • Sexo:Masculino
  • Localidade:Curitiba
  • Interesses:Php ... Php...Php

Posted 02/01/2009, 23:10

e ai man..
seguinte...

é bem simples...

vc pode dentro do looping vc verifica se é a primeira e mostra as coisas que deseja...

e o resto continua como esta... tem varias formas para fazer isso ... vc pode trabalhar com o vetor do resultado e definir uma var para cada linha do vetor,,,

bem tranquilo
<?php

$squall = new Squall();

$squall->Ajudando("você");

$resultado = $squall->solucao();  ?>

#8 Dudu

Dudu

    Viva la vida

  • Usuários
  • 1437 posts
  • Sexo:Masculino
  • Localidade:Uberlândia - MG
  • Interesses:PHP

Posted 03/01/2009, 01:29

É simples.

Cria uma variável com valor = 1.
Depois gere um LOOP aplicado no mysql_fetch_array ou como desejar.
Faça uma condição, e verifique se a variável numerica que você criou, é igual a 1.
Se for, mostre a notícia com a foto, se não for, mostre só o trecho da notícia.

Exemplo prático:

[codebox]
$i = 1;
while($c = mysql_fetch_array($consulta_sql)) {
if($i == 1) {

echo '<img src="'.$c['img_da_noticia_do_bd'].'">';
echo substr($c['noticia'], 0, 120);
}else{
echo substr($c['noticia'], 0, 120);
}
$i++;
}
[/codebox]

A idéia seria essa, agora basta adaptar pro que você precisa.
Até mais ^_^

Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Moderador


Twitter: HostCheap


#9 jamsbboy

jamsbboy

    Ativo

  • Usuários
  • 319 posts
  • Sexo:Masculino

Posted 03/01/2009, 15:38

:blink: não to conseguindo encontrar o local exato para adaptar o code acima... ta dando um erro atras do outro :(

se alguem puder me ajudar meu msn: asxburger@hotmail.com Vlws. =D
IG- O Mundo é de quem faz! --- http://www.quemfaz.com.br

#10 Alex Hiroshi

Alex Hiroshi

    Super Veterano

  • Ex-Admins
  • 4923 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 03/01/2009, 22:46

Poste as suas tentativas. Vamos ver onde você está errando.
Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Ex-Administrador

#11 RUIANDERSON

RUIANDERSON

    Turista

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

Posted 05/01/2009, 00:06

Pega o ID da última notícia cadastrada (Atráves de um loop na tabela você faz a contagem).

Depois de armazenado em uma varíavel é so fazer um if no loop que mostra as notícias e comparar esse valor com o ID.
Se o valor do ID da notícia for igual. Exiba a notícia com a foto. Senão, exibe so texto.

[]'s




1 user(s) are reading this topic

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

IPB Skin By Virteq