Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Álan_nov

Imagem padrão para cadastros sem imagem

Recommended Posts

Boa tarde a todos,

 

Surgiu a seguinte questão: E se não cadastrarem imagens? Vai ficar um espaço

vazio e dependendo do browser outras coisas, paracendo uma falha de carregamento.

 

Ai que pesquisei e achei isso:

http://scriptbrasil....40

 

Tentei adaptar ao meu sistema, mas não funcionou corretamente.

Acontece o seguinte: vamos supor que tenha 10 registros no banco. Ele coloca as 10 imagens padrão e depois os registros normalmente.

Sendo que os que não possuem imagem, as imagens padrão não são inseridas.

 

Segue abaixo o script:

 

$sql = "SELECT * FROM novidades ORDER BY descricao ASC LIMIT $inicio, $quantidade";


if (!foto) { $semfoto = "../fotos/logo_casa_venturini_.png";
mysql_query("INSERT INTO novidades (foto) VALUES ('$semfoto')");}


 					//Executa o SQL
 					$qr  = mysql_query($sql) or die(mysql_error());
 					//Percorre os campos da tabela
 					while($ln = mysql_fetch_assoc($qr)){?>

               	<div id="noticias">
                   <div style="border-bottom:1px dotted #CCC; width:700px; padding:15px; margin-left:-65px;">
   					<!--echo '<div style="color:#999; font-size:10px; width:auto; margin-top:2px; margin-bottom:-3px;">'.formata_data($data).'</div>';-->

                       <div id="titulo">
					<?php echo $ln['titulo'];?>
                       </div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

não entendi, você quer cadastrar uma imagem padrão no banco é isso ?

se for tenta isso olha:

 

if(empty($variaveldafoto)){
}

Qualquer coisa ecplica de novo pqe não entendi quase nada que vs falou, vs disse algo de cadastrar

mais vs tbm ta listando ai complicou, posta seu script todo :]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia!

 

O que estou tentando fazer é deixar aparecendo sempre uma imagem padrão caso o usuário não cadastre nenhuma.

Para não ficar aquele espaço da imagem em branco.

Como citei acima, não aparece nenhuma mensagem de erro. Simplismente não aparece a imagem padrão aonde não foi cadastrado imagem.

 

Segue o script:

<?php  
  //inclusão da conexão com banco de dados
require('conexao.php');
 //A quantidade de valor a ser exibida
 $quantidade = 3;
 //a pagina atual
 $pagina     = (isset($_GET['pagina'])) ? (int)$_GET['pagina'] : 1;
 //Calcula a pagina de qual valor será exibido
 $inicio     = ($quantidade * $pagina) - $quantidade;

 //Monta o SQL com LIMIT para exibição dos dados 
 $sql = "SELECT * FROM novidades ORDER BY id DESC LIMIT $inicio, $quantidade";
 //Executa o SQL
 $qr  = mysql_query($sql) or die(mysql_error());
 //Percorre os campos da tabela
 while($ln = mysql_fetch_assoc($qr)){?>

 <div id="noticias">
		<div style="border-bottom:1px dotted #CCC; width:700px; padding:15px; margin-left:-65px;">
   		<!--echo '<div style="color:#999; font-size:10px; width:auto; margin-top:2px; margin-bottom:-3px;">'.formata_data($data).'</div>';-->

           <div id="titulo">
		<?php echo $ln['titulo'];?>
           </div>

           <?php if(empty($foto)){ $semfoto = "../fotos/logo.png";
mysql_query("INSERT INTO novidades (foto) VALUES ('$semfoto')");} ?>

           <div id="fotos">
		<img src="fotos/<?php echo $ln['foto'];?> "/>
           </div>

  			<div id="descricao">
		<?php echo $ln['descricao']?>
           </div>

           </div>
           </div>
           </div>
           <!-- final conteudoPrincipal -->
		<?php }?><?php
 /**
  * SEGUNDA PARTE DA PAGINAÇÃO
  */
 //SQL para saber o total
 $sqlTotal   = "SELECT id FROM novidades";
 //Executa o SQL
 $qrTotal    = mysql_query($sqlTotal) or die(mysql_error());
 //Total de Registro na tabela
 $numTotal   = mysql_num_rows($qrTotal);
 //O calculo do Total de página ser exibido
 $totalPagina= ceil($numTotal/$quantidade);
  /**
   * Defini o valor máximo a ser exibida na página tanto para direita quando para esquerda
   */
  $exibir = 3;
  /**
   * Aqui montará o link que voltará uma pagina
   * Caso o valor seja zero, por padrão ficará o valor 1
   */
  ?>

  <!-- início navegação -->
  <div id="navegacao">

  <?php
  $anterior  = (($pagina - 1) == 0) ? 1 : $pagina - 1;
  /**
   * Aqui montará o link que ir para proxima pagina
   * Caso pagina +1 for maior ou igual ao total, ele terá o valor do total
   * caso contrario, ele pegar o valor da página + 1
   */
  $posterior = (($pagina+1) >= $totalPagina) ? $totalPagina : $pagina+1;
  /**
   * Agora monta o Link paar Primeira Página
   * Depois O link para voltar uma página
   */
  echo '<a href="?pagina=1">primeira</a> | ';
  echo "<a href=\"?pagina=$anterior\">anterior</a> | ";

  /**
   * O loop para exibir os valores à esquerda
   */
  for($i = $pagina-$exibir; $i <= $pagina-1; $i++){
      if($i > 0)
       echo '<a href="?pagina='.$i.'"> '.$i.' </a>';
 }
  /**
   * Depois o link da página atual
   */
  echo '<a href="?pagina='.$pagina.'"><strong>['.$pagina.']</strong></a>';
  /**
   * O loop para exibir os valores à direta
   */

  for($i = $pagina+1; $i < $pagina+$exibir; $i++){
      if($i <= $totalPagina)
       echo '<a href="?pagina='.$i.'"> '.$i.' </a>';
 }
 /**
   * Agora monta o Link para Próxima Página
   * Depois O link para Última Página
   */
 echo " | <a href=\"?pagina=$posterior\">próxima</a> | ";
 echo "  <a href=\"?pagina=$totalPagina\">última</a>";

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara pqe vs nao tenta isso:

 

<?php  
  //inclusão da conexão com banco de dados
require('conexao.php');
 //A quantidade de valor a ser exibida
 $quantidade = 3;
 //a pagina atual
 $pagina     = (isset($_GET['pagina'])) ? (int)$_GET['pagina'] : 1;
 //Calcula a pagina de qual valor será exibido
 $inicio     = ($quantidade * $pagina) - $quantidade;

 //Monta o SQL com LIMIT para exibição dos dados 
 $sql = "SELECT * FROM novidades ORDER BY id DESC LIMIT $inicio, $quantidade";
 //Executa o SQL
 $qr  = mysql_query($sql) or die(mysql_error());
 //Percorre os campos da tabela
 while($ln = mysql_fetch_assoc($qr)){?>

 <div id="noticias">
                       <div style="border-bottom:1px dotted #CCC; width:700px; padding:15px; margin-left:-65px;">
               <!--echo '<div style="color:#999; font-size:10px; width:auto; margin-top:2px; margin-bottom:-3px;">'.formata_data($data).'</div>';-->

           <div id="titulo">
                       <?php echo $ln['titulo'];?>
           </div>

           <div id="fotos">
		<?php 
		$pic = $ln['foto'];
		if($pic == "")
		echo '<img src = "../fotos/logo.png" />';
		else
		echo '<img src="fotos/$pic" />';
		?>

           </div>

                       <div id="descricao">
                       <?php echo $ln['descricao']?>
           </div>

           </div>
           </div>
           </div>
           <!-- final conteudoPrincipal -->
                       <?php }?><?php
 /**
  * SEGUNDA PARTE DA PAGINAÇÃO
  */
 //SQL para saber o total
 $sqlTotal   = "SELECT id FROM novidades";
 //Executa o SQL
 $qrTotal    = mysql_query($sqlTotal) or die(mysql_error());
 //Total de Registro na tabela
 $numTotal   = mysql_num_rows($qrTotal);
 //O calculo do Total de página ser exibido
 $totalPagina= ceil($numTotal/$quantidade);
  /**
   * Defini o valor máximo a ser exibida na página tanto para direita quando para esquerda
   */
  $exibir = 3;
  /**
   * Aqui montará o link que voltará uma pagina
   * Caso o valor seja zero, por padrão ficará o valor 1
   */
  ?>

  <!-- início navegação -->
  <div id="navegacao">

  <?php
  $anterior  = (($pagina - 1) == 0) ? 1 : $pagina - 1;
  /**
   * Aqui montará o link que ir para proxima pagina
   * Caso pagina +1 for maior ou igual ao total, ele terá o valor do total
   * caso contrario, ele pegar o valor da página + 1
   */
  $posterior = (($pagina+1) >= $totalPagina) ? $totalPagina : $pagina+1;
  /**
   * Agora monta o Link paar Primeira Página
   * Depois O link para voltar uma página
   */
  echo '<a href="?pagina=1">primeira</a> | ';
  echo "<a href=\"?pagina=$anterior\">anterior</a> | ";

  /**
   * O loop para exibir os valores à esquerda
   */
  for($i = $pagina-$exibir; $i <= $pagina-1; $i++){
      if($i > 0)
       echo '<a href="?pagina='.$i.'"> '.$i.' </a>';
 }
  /**
   * Depois o link da página atual
   */
  echo '<a href="?pagina='.$pagina.'"><strong>['.$pagina.']</strong></a>';
  /**
   * O loop para exibir os valores à direta
   */

  for($i = $pagina+1; $i < $pagina+$exibir; $i++){
      if($i <= $totalPagina)
       echo '<a href="?pagina='.$i.'"> '.$i.' </a>';
 }
 /**
   * Agora monta o Link para Próxima Página
   * Depois O link para Última Página
   */
 echo " | <a href=\"?pagina=$posterior\">próxima</a> | ";
 echo "  <a href=\"?pagina=$totalPagina\">última</a>";

?>

 

fiz um if simples da uma olhadinha :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia!

 

Meu velho, no seu código original, onde você for exibir a foto, faça dessa forma:

 

<?php

//verifico se a sua variavel da foto está vazia
//se estiver, mostro uma imagem padrão
if(empty($variavel_da_foto))
{
   echo "Imagens/imagemPadrao.jpg";
}
else
{
   //Se nao estiver, mostro a foto do banco
   echo $variavel_da_foto;
}

?>

 

Desse jeito deve funcionar, foi o que o Amigo smloUIS quis dizer

Compartilhar este post


Link para o post
Compartilhar em outros sites

Adaptei seu script e ficou assim:

<?php 

//verifico se a sua variavel da foto está vazia 
//se estiver, mostro uma imagem padrão 
if(empty($foto)) 
{ 
   echo '<img src="..fotos/logo.png">'; 
} 
else 
{ 
   //Se nao estiver, mostro a foto do banco 
   echo $foto;
} 

?>

Não entendo... a lógica está correta, porém não aparece nenhuma imagem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

E aew pessoal!

 

Eu preciso de uma ajudinha...
Criei um site e gostaria de ter uma imagem padão. Assim quando um administrador não cadastrar nenhuma imagem para logomarca permaneça ali a Imagem_padrao.

 

Como eu fiz:
Coloquei assim assim depois do sql:

 

*******************************

 

if(empty($logo)== "") / / se estiver sem cadastro ele da um echo na imagem padrão como abaixo,
{
echo "<img src='img/imagem_padrao.jpg'/>"; / / Aqui eu pego a imagem da pasta de imagens do site no diretório www/modelo/img
}
else
{
//Se nao estiver, mostro a foto do banco / / se estiver um cadastro de imagem, ele da um echo na imagem do banco de dados,
echo "<img src='logo/{$logo}'/>"; //Aqui eu pego a imagem do banco
}
*********************************
O meu problema é que quando eu cadastro uma imagem no banco de dados, O cadastro acontece, mais a imagem_padrao se posicione logo abaixo da imagem que vem do banco, e eu preciso que essa imagem_padrao seja ocultada. Alguém pode me ajudar como isso?
Eu seria muito grato!

Compartilhar este post


Link para o post
Compartilhar em outros sites


<?php

// NOTA: NÃO SEI COMO você ESTÁ RESGATANDO A IMAGEM< O SQL ABAIXO É SÓ UM EXEMPLO

$imagemBD = 'SELECT logo from usuario where id=11';

 

$logo = empty($imagemBD) ? 'img/imagem_padrao.jpg' : $imagemBD;

 

echo "<img src='{$logo}'/>";

 

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça assim, já q o banco aceita que a imagem não seja cadastra, onde vc mostrará os dados use

if ($variavel_da_foto == null){

echo"<img src=\"caminho da imagem padrão caso o usuário não tenha foto cadastrado\"/>";

}else{

echo"<img src=\"$variavel_da_foto\"/>";

}

 


Pronto, acho q isso basta

Compartilhar este post


Link para o post
Compartilhar em outros sites
O código esta assim:
<?php
define('pg','http://localhost/modelo');
include_once("admin/classes/DadosDoBanco.php");
/*include_once "biblio.php";*/
$logo = new DadosLogo();
?>
<div id="box_logo">
<?php
$sql = "SELECT * FROM logo";
$total = $logo->totalRegistros($sql);
for($i=0;$i<$total;$i++){
$logo-> verLogo($sql,$i);
$id_logo = $logo->getId();
?>
<img src="admin/logo/<?php echo $logo->getImagem()?>" /> </a>
<?php }?>
<?php
if(empty($img))
{
echo"<img src=\"img/imagem_padrao.jpg\"/>";
}
else
{
//Se nao estiver, mostro a foto do banco
echo "<img src=\"$variavel_da_foto\"/>";
}
?>
Até aqui tudo bem pessoal, mais quando eu insiro uma imagem no banco de dados, acaba aparecendo as duas imagens a da pasta e a do banco... eu preciso que essa imagem padrao fique oculta. As dicas que vocês me enviaram servem, mais acontece a mesma questão.

Desculpem a minha ignorância.
Eu só preciso que a imagem padão saia fora para dar lugar ao que vem do banco de dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.