Foros del Web » Programando para Internet » PHP »

problema para mostrar imagen desde una base de datos con php

Estas en el tema de problema para mostrar imagen desde una base de datos con php en el foro de PHP en Foros del Web. Hola, tengo el siguiente problema envie la url de una imagen para mi base de datos pero cuando la llamo en la pagina que quiero ...
  #1 (permalink)  
Antiguo 27/12/2006, 09:55
 
Fecha de Ingreso: mayo-2004
Ubicación: Ciudad de la Habana
Mensajes: 85
Antigüedad: 19 años, 11 meses
Puntos: 0
Pregunta problema para mostrar imagen desde una base de datos con php

Hola, tengo el siguiente problema envie la url de una imagen para mi base de datos pero cuando la llamo en la pagina que quiero mostrarla lo que me sale es el campo de imagen vacio aqui les envio el codigo de la pagina donde deseo mostrar la imagen y el de subida de la imagen a la base de datos a ver si me pueden ayudar.

Código PHP:
<?php //modulo de subida de imagenes al servidor.
if (isset($_POST['send'])){
 if (
$_FILES['url_i']['size'] > $_POST['max_size']*1024){ /*comprobamos que el tamaño sea el permitido*/
 
echo 'el archivo es demasiado grande'; } elseif (($_FILES['url_i']['type']=='image/gif')||($_FILES['url_i']['type']=='image/pjpeg')){ if(is_uploaded_file($_FILES['url_i']['tmp_name'])) { // verifica haya sido cargado el archivo 
    
if(move_uploaded_file($_FILES['url_i']['tmp_name'], '../img/'.$_POST['pos'].'/'.$_FILES['url_i']['name'])) { // se coloca en su lugar final 
                    
echo "<b>Upload exitoso!. Datos:</b><br>"
            echo 
"Nombre: <i><a href=\"".$_FILES['url_i']['name']."\">".$_FILES['url_i']['name']."</a></i><br>"
            echo 
"Tipo MIME: <i>".$_FILES['url_i']['type']."</i><br>"
                    echo 
"Peso: <i>".$res[0]." Kbytes</i><br>"
                        echo 
"<br><hr><br>"
                        
$dir '../img/'.$_POST['pos'].'/';
                        echo 
'la url es'.$dir
        } 
    } 
    }
}
?><?php
if ($_SESSION['MM_Username']=='webmaster'){ $len ='es';
} elseif(
$_SESSION['MM_Username']=='tingles'){ $len ='en';
} else { 
$len ='fr';
}
$maxRows_noticias 5;
$pageNum_noticias 0;
if (isset(
$_GET['pageNum_noticias'])) {
  
$pageNum_noticias $_GET['pageNum_noticias'];
}
$startRow_noticias $pageNum_noticias $maxRows_noticias;

$query_noticias "SELECT * FROM noticias WHERE lang = '$len' ORDER BY id_not DESC";
$query_limit_noticias sprintf("%s LIMIT %d, %d"$query_noticias$startRow_noticias$maxRows_noticias);
$noticias mysql_query($query_limit_noticias$cha) or die(mysql_error());
$row_noticias mysql_fetch_assoc($noticias);
$row_noticias_num mysql_num_rows($noticias);

if (isset(
$_GET['totalRows_noticias'])) {
  
$totalRows_noticias $_GET['totalRows_noticias'];
} else {
  
$all_noticias mysql_query($query_noticias);
  
$totalRows_noticias mysql_num_rows($all_noticias);
}
$totalPages_noticias ceil($totalRows_noticias/$maxRows_noticias)-1;
?>
<?
// modulo de envio
 
if(empty($_POST['titular'])){
   
$tit_e ' Campo vacio';
   } elseif(empty(
$_POST['breve'])){
         
$bre_e 'Campo vacio';} elseif(empty($_POST['noticia'])){
             
$not_e 'Campo vacio'; } else {
     if ((isset(
$_POST['send'])) && ($_POST['send']=='enviar')){
    
$h_pub $_POST['h_pub'];
    
$f_pub $_POST['f_pub'];
    
$tit $_POST['titular'];
    
$bre $_POST['breve'];
    
$not $_POST['noticia'];
    
$ido $_POST['ido'];
    
$fue $_POST['fuente'];
    
$pos $_POST['pos'];
    
$url_i $dir;
    echo 
$f_pub;
    
$sql "INSERT INTO `noticias` ( titular , breve , noticia , url_i , pos , fuente , f_pub , h_pub , lang ) values ('$tit','$bre','$not','$url_im','$pos','$fue','$f_pub','$h_pub','$ido')";
     
mysql_query($sql,$cha);
     }
 }
?>
Código PHP:
<?php
//aqui selecion la base de datos y hago la consulta
mysql_select_db($database_cha$cha);
$query_noti "SELECT * FROM noticias WHERE id_not ='$id'  and lang = '$lang'";
$noti mysql_query($query_noti$cha) or die(mysql_error());
$row_noti mysql_fetch_assoc($noti);
$totalRows_noti mysql_num_rows($noti);
?><? //a continuacion va la tabla donde deseo mostrar los campos de la noticia que envie?><table width="400" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td height="20" valign="top"><?php echo ucwords(nl2br($row_noti['pos'])); ?></td>
  </tr>
  <tr>
    <td height="10" valign="top"></td>
  </tr>
  <tr>
    <td height="218" valign="top">
      <p><img src="<? printf($row_noti['url_im']); ?>" alt="foto" hspace="3" vspace="3" align="right" style="border-bottom-color:#C8C8C8; border-right-color:#c8c8c8; border-bottom-width:3px; border-right-width:3px; border-bottom-style:groove; border-right-style:groove" /><?php echo ucfirst(nl2br($row_noti['titular'])); ?><br />
        <br />
        <?php echo ucfirst(nl2br($row_noti['noticia'])); ?><br />
        <br />
        <?php echo ucwords(nl2br($row_noti['fuente'])); ?><br />

        <?php echo $row_noti['f_pub']; ?>
        <?php echo $row_noti['h_pub']; ?>
    <hr style="border-style:dotted; border-width:thin; border-color:#CCCCCC"><div align="right" style="color:#7DACF2; text-decoration:none;"><font><a href="javascript:history.go(-1)">atr&aacute;s</a></font></div></td>
  </tr>
</table>
</body>
</html>
<?php
mysql_free_result
($noti);
?>
Muchas gracias de antemano
  #2 (permalink)  
Antiguo 27/12/2006, 12:39
 
Fecha de Ingreso: diciembre-2004
Mensajes: 49
Antigüedad: 19 años, 3 meses
Puntos: 0
Re: problema para mostrar imagen desde una base de datos con php

Hola, te propongo descartar errores,

1- lo unico que no te aparece es la foto verdad? si las columnas fuente, noticia y pos se visualizan la consulta está ok.

2- en tu modulo de envio defines columna "url_i" y cuando llamas la imagen lo haces "url_im" fijate porque si esta bien como lo hicistes me has confundido.

2 - Si lo anterior está ok, tendrías que revisar el destino que tienen tus fotos subidas,
<img src="<directorio/? printf($row_noti['url_im']); ?>" alt="foto">

espero ser de ayuda
  #3 (permalink)  
Antiguo 28/12/2006, 12:35
 
Fecha de Ingreso: mayo-2004
Ubicación: Ciudad de la Habana
Mensajes: 85
Antigüedad: 19 años, 11 meses
Puntos: 0
De acuerdo Re: problema para mostrar imagen desde una base de datos con php

hola hermano yo guarde el camino completo de la imagen que se cargo en la base de datos y la imagen es subida al servidor el lio es que no me la muestra. cuando la llamo lo del url_im es que le hice un cambio en la base de datos para ver si me la mostraba porque es muy raro eso cuando pongo la misma ruta pero sin php en el src me muestra la imagen por eso es que estoy tan liado con eso.

Salu2,
Choco_cu
  #4 (permalink)  
Antiguo 28/12/2006, 14:29
 
Fecha de Ingreso: diciembre-2004
Mensajes: 49
Antigüedad: 19 años, 3 meses
Puntos: 0
Re: problema para mostrar imagen desde una base de datos con php

lo unico que se me ocurre es que pongas dos imagenes:
una con la direccion escrita a mano (que es la que te muestra)

y la otra le das en img src="echo ($row_noti['url_im']);"


previsualizas la pagina, ves codigo fuente y comparas, el valor de la columna con el valor escrito a mano que te anda.

ahi ya vas a tener una pista de donde empezar.

saludos
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 02:46.