Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá,
Vou tentar mostrar 1º como está meu código e o que quero fazer, e logo em baixo vou colocar o problema que estou tendo.
O que quero fazer é uma tabela aonde tenha uma foto e depois o titulo de uma noticia, esses 2 itens serão links para a página de noticia.
A página de noticia é montada automaticamente com os dados que tem no BD.
Agora vou mostrar os códigos.
BD
tbnoticias
seq - Serial
titulo - Varchar
foto1 - Varchar
foto2 - Varchar
texto - Text
*OBS: Foto1 e Foto2 no BD somente guardam o caminho das fotos e não a imagem.
noticias.php
<?php
include "../conecta_banco.php";
$sql_listar_noticias = "SELECT seq, foto1, titulo FROM tbnoticias";
$resultado_listar_noticias = mysql_query($sql_listar_noticias)
or die (mysql_error());
if(mysql_num_rows($resultado_listar_noticias) < 1) {
echo "Nenhum notícia publicada.";
} $seq = $linha["seq"];
$foto1 = $linha["foto1"];
$titulo = $linha["titulo"];
?>
<center><table class="noticias">
<tr>
<th ><a href="visualizar_noti.php" target="central"><img class="noticias" src="<?php echo "$foto1"?>" /></th>
<td ><a href="visualizar_noti.php" target="central" ><?php echo "$titulo" ?></a></td>
</tr>
</form>
<?php?>
</table>
<?php?>
</table>
visualizar_noti.php
<?php
include "../conecta_banco.php";
$seq = $_GET["seq"]; // PROBLEMA
$busca = "SELECT titulo, foto2, texto FROM tbnoticias WHERE seq='$seq' ";
$listar_busca = mysql_query($busca)
or die (mysql_error());
$linha=mysql_fetch_array($listar_busca);
$titulo = $linha["titulo"];
$foto2 = $linha["foto2"];
$texto = $linha["texto"];
?>
<p class="titulo"><?php echo "$titulo" ?></p>
<br />
<center><img class="buscar2" src="<?php echo "$foto2" ?>" /></center>
<br /><br />
<p class="texto"><?php echo "$texto" ?></p>
Agora vamos aos problemas
1º [RESOLVIDO - Caminho da imagem estava errado] -> Na página noticias.php não aparece a imagem, sempre fica aquele quadrado com o X no canto esquerdo superior. Mas fica como link e o título também ficam e são enviados p/ a página visualizar_noti.php normalmente. Mesmo colocando como <input type="imagem" src:"<?php echo "$foto1" ?>" /> a imagem não aparece.
2º -> Não consigo enviar o SEQ da página noticias.php para o visualizar_noti.php. Já fiz colocando em um form a linha da tabela, mas só consigo colocar o envio pelo <input type="image"> sendo a imagem, o titulo não consigo fazer o link para envio.
Não sei se conseguir explicar bem. Mas estes estão sendo meus problemas.
Se alguém conseguir me ajudar agradeço muito.
VLW
>
Não entendi muito bem, mais vamos lá. vamos depurar seu código.
Na página visualizar_noti.php coloque o seguinte:
print '<pre>';
print_r($_GET);
print '</pre>';
print $foto2;
cole aqui o resultado.
Deixa-me tentar explicar de outra forma,
O meu problema está no method GET. Gostaria de usá-lo sem precisar criar um form.
Somente em links simples de imagem e de texto dando um hidden no SEQ.
Expliquei melhor??
Então seu código ficaria da seguinte forma:
<?php
include "../conecta_banco.php";
$sql_listar_noticias = "SELECT seq, foto1, titulo FROM tbnoticias";
$resultado_listar_noticias = mysql_query($sql_listar_noticias)
or die (mysql_error());
if(mysql_num_rows($resultado_listar_noticias) < 1) {
echo "Nenhum notícia publicada.";
}
else {
while ($linha=mysql_fetch_array($resultado_listar_noticias)) {
$seq = $linha["seq"];
$foto1 = $linha["foto1"];
$titulo = $linha["titulo"];
?>
<center><table class="noticias">
<tr>
<th ><a href="visualizar_noti.php?seq=<?php print $seq; ?>" target="central"><img class="noticias" src="<?php echo $foto1; ?>" /></th>
<td ><a href="visualizar_noti.php?seq=<?php print $seq; ?>" target="central" ><?php echo $titulo; ?></a></td>
</tr>
<?php
}//FIM DO WHILE
?>
</table>
<?php
}//FIM DO ELSE
?>
</table>
Esquece o form.
faz assim
<?php
include "../conecta_banco.php";
$noticias = mysql_query("SELECT seq, foto1, titulo FROM tbnoticias");
$exibir = mysql_fetch_array($noticias);
if($noticias<=1) { echo "Nenhum notícia publicada";
}
else{
?>
<table class="noticias">
<tr>
<th ><a href="visualizar_noti.php" target="central"><img class="noticias" src="<?=$exibir[1];?>" /></th>
<td ><a href="visualizar_noti.php" target="central" ><?=$exibir[3];?></a></td>
</tr>
<? }?>
</table>>
Então seu código ficaria da seguinte forma:
<?php
include "../conecta_banco.php";
$sql_listar_noticias = "SELECT seq, foto1, titulo FROM tbnoticias";
$resultado_listar_noticias = mysql_query($sql_listar_noticias)
or die (mysql_error());
if(mysql_num_rows($resultado_listar_noticias) < 1) {
echo "Nenhum notícia publicada.";
}
else {
while ($linha=mysql_fetch_array($resultado_listar_noticias)) {
$seq = $linha["seq"];
$foto1 = $linha["foto1"];
$titulo = $linha["titulo"];
?>
<center><table class="noticias">
<tr>
<th ><a href="visualizar_noti.php?seq=<?php print $seq; ?>" target="central"><img class="noticias" src="<?php echo $foto1; ?>" /></th>
<td ><a href="visualizar_noti.php?seq=<?php print $seq; ?>" target="central" ><?php echo $titulo; ?></a></td>
</tr>
<?php
}//FIM DO WHILE
?>
</table>
<?php
}//FIM DO ELSE
?>
</table>
Esquece o form.
Deu certinho, Valeu Alaerte Gabriel.
obrigado :clap: :clap: :clap:
Não entendi muito bem, mais vamos lá. vamos depurar seu código.
Na página visualizar_noti.php coloque o seguinte:
cole aqui o resultado.