Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Substituir imagem aleatoriamente


Owner

Pergunta

Olá, tenho uma página que lista 5 imagens

<?php echo $row_imagens['img']; ?>

Gostaria de saber como faço para contar essas 5 imagens e substituir uma delas por uma outra, sendo que isso seria randômico; cada vez substuiria uma delas... Agradeço desde já as pessoas que me ajuderem... Vlw...

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Olá daviddominio, no caso eu preciso que a função descubra quantas imagens estão mostrando e substitua uma dessas imagens, abaixo tem um exemplo de como seria, para poder entender melhor:

Foto Evento 1 | Foto Evento 2 | Foto Evento 3 | Foto Evento 4 | Foto Evento 5 ou

Foto Evento 1 | Foto Evento 2 | Foto Evento 3 | Foto Evento 4 | Foto Evento 5 | Foto Evento 6

Usando a função ficaria:

Foto Evento 1 | Foto Publicidade | Foto Evento 3 | Foto Evento 4 | Foto Evento 5 ou

Foto Evento 1 | Foto Evento 2 | Foto Evento 3 | Foto Evento 4 | Foto Publicidade | Foto Evento 6

Link para o comentário
Compartilhar em outros sites

  • 0
<?php require_once('Connections/vitrine_ads.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$maxRows_exibe_imagens = 5; // a quantidade pode variar
$pageNum_exibe_imagens = 0;
if (isset($_GET['pageNum_exibe_imagens'])) {
  $pageNum_exibe_imagens = $_GET['pageNum_exibe_imagens'];
}
$startRow_exibe_imagens = $pageNum_exibe_imagens * $maxRows_exibe_imagens;

mysql_select_db($database_vitrine_ads, $vitrine_ads);
$query_exibe_imagens = "SELECT * FROM imagens";
$query_limit_exibe_imagens = sprintf("%s LIMIT %d, %d", $query_exibe_imagens, $startRow_exibe_imagens, $maxRows_exibe_imagens);
$exibe_imagens = mysql_query($query_limit_exibe_imagens, $vitrine_ads) or die(mysql_error());
$row_exibe_imagens = mysql_fetch_assoc($exibe_imagens);

if (isset($_GET['totalRows_exibe_imagens'])) {
  $totalRows_exibe_imagens = $_GET['totalRows_exibe_imagens'];
} else {
  $all_exibe_imagens = mysql_query($query_exibe_imagens);
  $totalRows_exibe_imagens = mysql_num_rows($all_exibe_imagens);
}
$totalPages_exibe_imagens = ceil($totalRows_exibe_imagens/$maxRows_exibe_imagens)-1;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
  <?php do { ?>
      <img src="<?php echo $row_exibe_imagens['end_img']; ?>" /><br />
      <?php echo $row_exibe_imagens['nome_img']; ?>
    <?php } while ($row_exibe_imagens = mysql_fetch_assoc($exibe_imagens)); ?>
</body>
</html>
<?php
mysql_free_result($exibe_imagens);
?>

Editado por Owner
Link para o comentário
Compartilhar em outros sites

  • 0

Esse é o mesmo script? Procurei pelo código que você passou acima e não está, então vou assumir que o pedaço que interessa é esse.

<?php do { ?>
      <img src="<?php echo $row_exibe_imagens['end_img']; ?>" /><br />
      <?php echo $row_exibe_imagens['nome_img']; ?>
    <?php } while ($row_exibe_imagens = mysql_fetch_assoc($exibe_imagens)); ?>
No caso usando a idéia do daviddominio você pode sortear um número e testar com um if/else, exemplo
if($img == $volta){
//propagaganda
}else{
echo $row_exibe_imagens['nome_img'];
}

Antes do início do laço -> do {

Você cria uma variável $volta com valor = 1;

Antes do final do laço -> } while ($row_exibe_imagens = mysql_fetch_assoc($exibe_imagens));

Você incrementa ($volta++) essa variável.

O $img vai vir:

$img=rand(1,5);

No caso, o valor que 5 vai depender de quantos registros vieram do banco, isso você pode saber com mysql_num_rows.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...