Foros del Web » Programando para Internet » PHP »

Mostrando la noticia

Estas en el tema de Mostrando la noticia en el foro de PHP en Foros del Web. Amigos tengo la siguiente duda... He armado 3 páginas para mostrar la última noticia publicada, una página con un historial con todas las noticias y ...
  #1 (permalink)  
Antiguo 04/12/2005, 23:39
 
Fecha de Ingreso: abril-2005
Mensajes: 491
Antigüedad: 12 años, 8 meses
Puntos: 1
Mostrando la noticia

Amigos tengo la siguiente duda...

He armado 3 páginas para mostrar la última noticia publicada, una página con un historial con todas las noticias y el detalles especifico de la noticia que se elige del historial.

El problema es que cuando voy a mostrar las noticias antiguas me sale siempre la última foto de la última noticia, cosa obvia porque no estoy especificando el ID de la noticia a la cual corresponde.

historial.PHP
Código PHP:
<?PHP
          $a
=1;
        while(
$resultados mysql_fetch_array($resultado)) { 
        echo 
"<tr "
    if (
$num_fila%2==0)
        { 
               echo 
"bgcolor=#f1f1f1"//si el resto de la división es 0 pongo un color 
        
}else{ 
               echo 
"bgcolor=#ffffff"//si el resto de la división NO es 0 pongo otro color 
            
}
        echo 
">"
        
?>
     <td width="3%" align="center" valign="middle">
       <div align="center">
         <?=$a++ ?>
         </div></td>
     <td width="74%" style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px">
     <a href="ver_noticia.php?id=<?=$resultados[idnoticia]?>"><?= $resultados[ntitulo]."..."?></a></td>
     <td width="23%"></td>
    <? 
    $num_fila
++;
    } 
?>
    </tr> 
      </table>



Mostrar.php
Código PHP:
<?php 
include("Sitio_Seguro/autentificador/aut_config.inc.php");
$db_conexionmysql_connect("$sql_host""$sql_usuario""$sql_pass") or die(header ("Location:  $redir?error_login=0"));
mysql_select_db("$sql_db");

$sql "SELECT nfoto FROM tbnoticia"
$consulta mysql_query($sql); 

$result_array mysql_fetch_array($consulta); 
header("Content-Type: image/gif"); 
echo 
$result_array[0]; 
?>
y finalmente tengo la página que es detalle_historial.php?id='$id', que recibe el id de la página historial.php, el tema es como enlazo la imagen correspondiente que llega desde mostrar?.
Código PHP:
 <? echo ("<img src='mostrar_historial.php?id=$id_dos' border='0'>"); ?><br>
creo que esto me ayudará bastante

Última edición por under_ground; 05/12/2005 a las 08:23
  #2 (permalink)  
Antiguo 05/12/2005, 02:38
 
Fecha de Ingreso: abril-2005
Mensajes: 139
Antigüedad: 12 años, 7 meses
Puntos: 1
Para poder responderte deberias poner los campos que tiene la bd en la que basas el script, seguramente el problema estara en no tener una tabla que guarde los datos de la imagen y de la noticia a la que pertenece cuando das de alta una noticia.
__________________
Ciao y suerte.
  #3 (permalink)  
Antiguo 05/12/2005, 03:32
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
....

Cuando tú haces esto:
Código HTML:
<img src='mostrar_historial.php?id=XX' border='0'> 
estás pidiendo a un archivo (mostrar_historial.php) que te regrese una imágen... le estás pasando un id vía URL. Entonces, lo que debe hacer ese archivo es tomar esa id, consultar la BD y entregar la imágen respectiva... en tú código no tomas esa id.

Prueba con:
Código PHP:
<?php
include("Sitio_Seguro/autentificador/aut_config.inc.php");
$db_conexionmysql_connect("$sql_host""$sql_usuario""$sql_pass") or die(header ("Location:  $redir?error_login=0"));
mysql_select_db("$sql_db");

$sql "SELECT nfoto FROM tbnoticia WHERE id='".$_GET['id']."'"// aquí tomarás ese "XX"
$consulta mysql_query($sql);

$result_array mysql_fetch_array($consulta);
header("Content-Type: image/gif"); // Seguro solo serán GIF's?
echo $result_array[0];
?>
... ahora, esí es como funciona. Personalmente no entendí si es que imprimes bien esa "id" en el enlace... y si no habrá otro tipo de imágen más que GIF's... pero ya tendrás cuidado en eso. Échale un ojo al tutorial de Cluster al respecto.

Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #4 (permalink)  
Antiguo 05/12/2005, 06:50
 
Fecha de Ingreso: abril-2005
Mensajes: 491
Antigüedad: 12 años, 8 meses
Puntos: 1
Leyendo y leyendo + algunos cambios llegue a esto...
Código PHP:
página mostrar_foto.php
<?php 
include("Sitio_Seguro/autentificador/aut_config.inc.php");
$db_conexionmysql_connect("$sql_host""$sql_usuario""$sql_pass") or die(header ("Location:  $redir?error_login=0"));
mysql_select_db("$sql_db");

if(isset(
$_GET['id'])) { 
$sql "SELECT nfoto FROM tbnoticia WHERE idnoticia='".$_GET['id']."'"
$consulta mysql_query($sql); 

$result_array mysql_fetch_array($consulta); 
header("Content-Type: image/jpg"); 
echo 
$result_array[0]; 
}
?>
y lo llamo desde mi página ver_noticia.php,
Código PHP:
$id_dos=$_GET['id']; //tomo el id de la noticia 
<? echo ("<img src='mostrar_historial.php?id=$id_dos' border='0'>"); ?>
en tanto al tema de: header("Content-Type: image/jpg"); cuando subo la imagen colocare una validación en que sólo acepte imagenes jpg, creo que con eso bastara para asegurar que el cliente no ingrese otro tipo de imagen.
si hay algo reelevante que deba saber me dicen , estare agradecido
  #5 (permalink)  
Antiguo 05/12/2005, 08:20
 
Fecha de Ingreso: abril-2005
Mensajes: 491
Antigüedad: 12 años, 8 meses
Puntos: 1
cuando un usuario no carga una imagen.

Amigos el tema avanza, pero tengo un pequeño dilema.

El usuario al momento de publicar toda una noticia puede o no subir una imagen, si sube no hay problema, se muestra, pero sino lo hace , bueno hasta ahí no hay problema porque valide que pasaba cuando no viniera una foto.

Para esto cree una imagen en blanco la cual debo cargar cuando no exista una foto. esta imagen la tengo en una carpet, algo como Icon/white.jpg, ahora me perdi un resto, por eso les consulto que... al momento de ir a buscar la imagen tendría que preguntar algo como:

si campo_imagen == vacio, carga esta imagen,

tiene sentido no ?
Código PHP:
<?php 
include("Sitio_Seguro/autentificador/aut_config.inc.php");
$db_conexionmysql_connect("$sql_host""$sql_usuario""$sql_pass") or die(header ("Location:  $redir?error_login=0"));
mysql_select_db("$sql_db");
$idnew=$_GET['id_img'];
$consulta_imagen=mysql_query("select nfoto from tbnoticia where idnoticia='$idnew'")or die(mysql_error());
$ver_consulta=mysql_fetch_array($consulta_imagen);
mysql_free_result($consulta_imagen);

if(
$ver_consulta[nfoto]==""){
//cargar imagen en blanco.
}

if(isset(
$_GET['id_img'])) { 
$sql "SELECT nfoto FROM tbnoticia WHERE idnoticia='".$_GET['id']."'"
$consulta mysql_query($sql); 

$result_array mysql_fetch_array($consulta); 
header("Content-Type: image/jpg"); 
echo 
$result_array[0]; 
}
mysql_close();
?>
pero en en esa zona donde debo cargar la imagen me perdi un resto ¿cómo pasaria la imagen en blanco si esta esta en una carpeta tipo ICON/white.jpg?
no debe se complicado pero me
  #6 (permalink)  
Antiguo 05/12/2005, 09:09
 
Fecha de Ingreso: abril-2005
Mensajes: 491
Antigüedad: 12 años, 8 meses
Puntos: 1
he encontrado una mejor solución, en mi bd coloque una imagen en blanco. y cada vez que venga una noticia sin imagen llamo a esa magen en blanco, pero no me estar mostrando la imagen, solo sale la tipica imagen con el campo x

Código PHP:
<?php 
include("Sitio_Seguro/autentificador/aut_config.inc.php");
$db_conexionmysql_connect("$sql_host""$sql_usuario""$sql_pass") or die(header ("Location:  $redir?error_login=0"));
mysql_select_db("$sql_db");

$id_new=$_GET['code'];
$consulta_imagen=mysql_query("SELECT nfoto FROM tbnoticia WHERE idnoticia='$id_new'")or die(mysql_error());
$ver_consulta=mysql_fetch_array($consulta_imagen);
mysql_free_result($consulta_imagen);

if(
$ver_consulta[nfoto]==""){
//$var=strtolower($ver_consulta[ntitulo]);
$var="noticia base";
$void=mysql_query("SELECT nfoto FROM tbnoticia WHERE ntitulo='$var'")or die(mysql_error());

$vacio=mysql_fetch_array($void);
header("Content-Type: image/pjpeg"); 
echo 
$vacio[0]; 
exit;
}

if(isset(
$_GET['code'])) { 
$sql "SELECT nfoto FROM tbnoticia WHERE idnoticia='".$_GET['code']."'"
$consulta mysql_query($sql); 

$result_array mysql_fetch_array($consulta); 
header("Content-Type: image/pjpeg"); 
echo 
$result_array[0]; 
exit;
}
mysql_close();
?>
la idea es, consulto si el cmpo imagen viene vacio, si es así después traigo la imagen en blanco donde el campo ntitulo sea "noticia base"
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:38.