Jump to content

Incluir imagem mediante uma condição


cdmafra
 Share

Go to solution Solved by danieljsfernandes,

Recommended Posts

Olá!

Como posso fazer para incluir uma imagem nos links dos artigos, mediante se verifique uma condição. Passo a explicar - quero que quando os artigos cuja "categoria2" é "multimédia", se inclua, ao lado da data, um logótipo que indique tratar-se um artigo multimédia. Nos outros casos, é para apresentar normalmente, sem nenhum logótipo.

Sei que provavelmente tenho que incluir "if", "else" e "include", mas não estou a conseguir integrar nada no código abaixo.

{
echo "<div class='three columns'>";
echo "<a href='?artigo=".$row["news_slug"]."' class='div-link'>";
 echo "<div class='desc-new'>";
 //imagem
 echo "<div class='img-block'><img src='".$row['news_image']."' title='".$row["news_title"]."' alt='".$row["news_title"]."'/></div>";
 //texto
 echo "<h4 class='new-title' onmouseover='none'>".$row["news_title"]."</h4>";
echo "<h4 class='new-subtitle' onmouseover='none'>".$row["news_subtitle"]."</h4>";
echo "<aside><p>".$row["news_desc"]."</p><p class='datapeq'>".$row["news_date"].", ".$row["hour"]."</p></aside>";
 echo "</div>";
echo "</a>";
echo "</div>";
}
Link to comment
Share on other sites

Mais ou menos. Porque quero integrar a imagem no mesmo parágrafo <p>...</p> do que o resto. E a imagem só pode aparecer quando a row "categoria2" da tabela apresente essa condição, enquanto o restante parágrafo deve aparecer sempre.

Penso que serve:

if ($categoria2 == "Multimedia") {
echo "<aside><p><img href='images/'>".$row["news_desc"]."</p><p class='datapeq'>".$row["news_date"].", ".$row["hour"]."</p></aside>";
}
else {
echo "<aside><p>".$row["news_desc"]."</p><p class='datapeq'>".$row["news_date"].", ".$row["hour"]."</p></aside>";
}

EDIT: Assim não estou a conseguir, pois dá o $categoria2 como undefined variable. Já tentei defini-la, mas aparecem outro tipo de erros.

Este é o meu código:

{
$link = mysqli_connect("localhost","root","","motorra_mrn") or die("Error " . mysqli_error($link));
$query = "SELECT * FROM news WHERE destaque='Sim' and publicado='sim' ORDER BY news_id DESC LIMIT 4";
$result = $link->query($query);

while ($row = mysqli_fetch_array($result))


{
echo "<div class='three columns'>";
echo "<a href='?artigo=".$row["news_slug"]."' class='div-link'>";
echo "<div class='desc-new'>";
//imagem
echo "<div class='img-block'><img src='".$row['news_image']."' title='".$row["news_title"]."' alt='".$row["news_title"]."'/></div>";
//texto
echo "<h4 class='new-title' onmouseover='none'>".$row["news_title"]."</h4>";
echo "<h4 class='new-subtitle' onmouseover='none'>".$row["news_subtitle"]."</h4>";
if ($categoria2 == "Multimedia") {
echo "<aside><p><img href='images/player.png'>".$row["news_desc"]."</p><p class='datapeq'>".$row["news_date"].", ".$row["hour"]."</p></aside>";
}
else {
echo "<aside><p>".$row["news_desc"]."</p><p class='datapeq'>".$row["news_date"].", ".$row["hour"]."</p></aside>";
}

echo "<aside><p>".$row["news_desc"]."</p><p class='datapeq'>".$row["news_date"].", ".$row["hour"]."</p></aside>";
echo "</div>";
echo "</a>";
echo "</div>";
}

}
?>

Edited by apocsantos
Link to comment
Share on other sites

Boas, vais ter que verificar se a variavel está declarada.

if (isset($categoria2) && ($categoria2 == "Multimedia")) {

echo "Variavel está declarada e é igual a Multimedia.";

} else {

echo "Variavel não está declarada ou é diferente de Multimedia";

}

Obs: no entanto não vejo nada no teu código onde a variavel $categoria2 exista, se é um campo na base de dados entãio deverias fazer o if em função do nome desse campo , do tipo $row["nome_do_campo"] ou então definir a variavel $categoria2 = $row["nome_do_campo"]

Edited by paulokruz
Link to comment
Share on other sites

Vê lá agora:

$link = mysqli_connect("localhost","root","","motorra_mrn") or die("Error " . mysqli_error($link));
$query = "SELECT * FROM news WHERE destaque='Sim' and publicado='sim' ORDER BY news_id DESC LIMIT 4";
$result = $link->query($query);
while ($row = mysqli_fetch_array($result))
{
$categoria2 = $row["categoria2"];
echo "<div class='three columns'>";
echo "<a href='?artigo=".$row["news_slug"]."' class='div-link'>";
echo "<div class='desc-new'>";
//imagem
echo "<div class='img-block'><img src='".$row['news_image']."' title='".$row["news_title"]."' alt='".$row["news_title"]."'/></div>";
//texto
echo "<h4 class='new-title' onmouseover='none'>".$row["news_title"]."</h4>";
echo "<h4 class='new-subtitle' onmouseover='none'>".$row["news_subtitle"]."</h4>";
echo "<aside><p>";

// Condição
if (isset($categoria2) && $categoria2 == "Multimedia")
 echo "<img href='images/player.png'>";

echo $row["news_desc"]."</p><p class='datapeq'>".$row["news_date"].", ".$row["hour"]."</p></aside>";

echo "<aside><p>".$row["news_desc"]."</p><p class='datapeq'>".$row["news_date"].", ".$row["hour"]."</p></aside>";
echo "</div>";
echo "</a>";
echo "</div>";
}

"Medir o progresso de um programa por linhas de código é como medir o processo de montagem de um avião pelo peso."

Bill Gates

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.