Foros del Web » Programando para Internet » PHP »

CARICATOS: me podrias orientar un poco.Lo Necesito Urgente.

Estas en el tema de CARICATOS: me podrias orientar un poco.Lo Necesito Urgente. en el foro de PHP en Foros del Web. Hola Caricatos: primero que todo, agradesco tus aportes, ya que me han ayudado mucho, a lo largo de mi aprendizaje en la programacion. Sabes tengo ...
  #1 (permalink)  
Antiguo 29/12/2010, 19:43
Avatar de Prais  
Fecha de Ingreso: octubre-2010
Mensajes: 114
Antigüedad: 13 años, 6 meses
Puntos: 6
Exclamación CARICATOS: me podrias orientar un poco.Lo Necesito Urgente.

Hola Caricatos: primero que todo, agradesco tus aportes, ya que me han ayudado mucho, a lo largo de mi aprendizaje en la programacion.

Sabes tengo un problemon, ya hace dias no puedo solucionar y ya no se que mas hacer:

te comento: estoy usando un visualizador de imagenes que tu creaste, y trate de hacer una pequeña modificacion y que crees ?( quedo la crema), lo consulte en el foro php, y no me fue muy bien, por eso te comento a ti.(ojala me puedas ayudar)
Te explico:

1)estoy tratando imagenes que se asocian a un producto, en un listado principal.

2)tengo un visualizador de imagen, para que se vea la imagen, antes de que se asocie definitivamente al producto.

El usuario, una vez vista la imagen en el visualizador, si la acepta, presiona guardar cambios, y se almacena el nombre de la imagen en la bd, y la imagen se traslada a una carpeta destinada a este fin.

** eso en general **

Entonces cuando estoy en el listado principal, presiono ver imagen del producto, si tiene una imagen asociada la muestra en el visualizador y si no tiene imagen, muestra una imagen por defecto(evidentemente todo esto dentro del visualizador).
entonces una vez en el listado principal, cuando haga click para ver la imagen de un producto, en envio el id, a file.php, hago una consulta sql, para ver si tiene o no imagen, y que muestre.

// EN FILE.PHP TENGO ESTO:
Código PHP:
Ver original
  1. <iframe src="previsor.php?<?=$IdProducto['ID_PRODUCTO'];?>" id="ver" name="ver" style="display: block; margin: auto; border-width: 2px; width: 284px; height: 330px;"></iframe>


// EN PREVISOR.PHP TENGO ESTO:

Código PHP:
Ver original
  1. $id_producto=$_REQUEST['ID_PRODUCTO'];
  2. $Result=mysql_query("select DE_IMAGEN from lk_inv_producto where ID_PRODUCTO='$id_producto'",$cn);
  3. $SqlQuery=mysql_fetch_array($Result);
  4.  
  5. if ($SqlQuery['DE_IMAGEN']=='N/I') {
  6. $defecto = "KG_00_SinFotoProducto.png";
  7.  
  8. } else {  
  9.  $defecto = $SqlQuery['DE_IMAGEN'];
  10. }
  11.     $defecto = "$defecto";
  12.    $Ok = isset($_FILES["archivo"]);
  13.    $url = ($Ok) ? $_FILES["archivo"]["tmp_name"] : $defecto;
  14.    list($anchura, $altura, $tipoImagen, $atributos) = getimagesize($url);
  15.    $error = (isset($atributos)) ? 0 : 1;
  16.    $los_tipos = array("gif", "jpg", "png");
  17.    $tipo = ($Ok) ? "image/".$los_tipos[$tipoImagen - 1] : "image/png";
  18.    $fichero = ($Ok && ($error == 0)) ? $_FILES["archivo"]["name"] : $defecto;
  19.    $tam = filesize($url);
  20.    $OkTam = isset($_POST["maxpeso"]);
  21.    $OkAncho = isset($_POST["maxancho"]);
  22.    $OkAlto = isset($_POST["maxalto"]);
  23.    $maxTam = ($OkTam) ? (int) $_POST["maxpeso"]: 100000;
  24.    $maxAncho = ($OkAncho) ? (int) $_POST["maxancho"]: 640;
  25.    $maxAlto = ($OkAlto) ? (int) $_POST["maxalto"]: 480;
  26.    $error += ($tam <= $maxTam) ? 0 : 2;
  27.    $ancho = ($error == 1) ? 0 : $anchura;
  28.    $alto = ($error == 1) ? 0 : $altura;
  29.    $error += ($ancho <= $maxAncho) ? 0 : 4;
  30.    $error += ($alto <= $maxAlto) ? 0 : 8;
  31.    $datos = ($error == 0) ? $url : $defecto;
  32.    $onload = ($Ok) ? "onload='parent.datosImagen($tam, $ancho, $alto, $error)'": '';
  33.    $datos_imagen = fread(fopen($datos, "rb"), filesize($datos));
  34.    $_SESSION["cont"] = $datos_imagen;
  35.    $_SESSION["tipo"] = ($error == 0) ? $tipo : "image/png";
  36.  
  37. ?>
  38. <html >
  39. <head>
  40. <style type="text/css" >
  41. html    {
  42.     height: 100%;
  43. }
  44. body    {
  45.     height: 100%;
  46.     overflow: hidden;
  47.     background-color: #eeeeee;
  48.     background-image: url(previendo.php?dato=<?=$fichero;?>);
  49.     background-repeat: no-repeat;
  50.     background-position: center center;
  51. }
  52. </style>
  53. </head>
  54. <body <?=$onload;?>>
  55.  
  56. </body>
  57. </html>


// Y EN PREVIENDO.PHP TENGO ESTO:

Código PHP:
Ver original
  1. <?php
  2. $url = ($_SESSION["cont"] == "")
  3.  
  4.     ? fread(fopen("$defecto", "rb"), filesize("$defecto"))
  5.     : $_SESSION["cont"];
  6. $tip = ($_SESSION["tipo"] == "")
  7.     ? "image/png"
  8.     : $_SESSION["tipo"];
  9. header("Content-type: $tip");
  10. echo $url;
  11. ?>

Basicamente necesito que el previsor, pueda mostrar la imagen de un producto y si el producto no la tiene que muestre una imagen por defecto.

Ahora como supondras, no me resulta y me reclama en la linea 33 de previsor.php
y ya no se me ocurre como mas hacerlo funcionar.

AH, las funciones de javascript, function actuar,function ini,function validar,function limpiar,function checkear(f),function no_prever(),function prever(), etc... no le he hecho ningun cambio, estan tal cual lo tienes en tu ejemplo.

Agradesco mucho cualquier orientacion me puedas brindar.-

Última edición por Prais; 29/12/2010 a las 19:51
  #2 (permalink)  
Antiguo 29/12/2010, 20:28
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: CARICATOS: me podrias orientar un poco.Lo Necesito Urgente.

¿para que posteas algo referente a php en el foro de javascript?.

además no niego que el código de @caricatos funcione, pero al parecer es un código antiguo debido a que se utilizan elementos que en las versiones más recientes de php se han depreciado, como los short_tags, por lo que debes de utilizar <?php en adelante para evitar problemas con los hostings
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 29/12/2010, 23:45
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: CARICATOS: me podrias orientar un poco.Lo Necesito Urgente.

Hola:

Supongo que bastaría con consultar el número de datos recibidos en la consulta sql; podría ser 0 (al menos yo lo hago así)... no comprendo esta línea:

Código:
if ($SqlQuery['DE_IMAGEN']=='N/I') { ...
La condición que pondría es:

Código:
if (mysql_num_rows($Result) == 0) { ...
Sobre esta consulta, la moveremos a php; y para casos así, podrías avisarme con un mp, que si bien no respondo en privado, los leo y si me atañen participo...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 30/12/2010, 08:36
Avatar de Algadar  
Fecha de Ingreso: abril-2009
Mensajes: 115
Antigüedad: 15 años
Puntos: 1
Respuesta: CARICATOS: me podrias orientar un poco.Lo Necesito Urgente.

Que tal! Prais.

yo logre hacer eso pero con otro esquema, en enfoque en el código del producto.
como es unico y la imgen del producto es una sola relación uno - uno
mira este código que parte de el lo consegui por esots lares.

Código:
<!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=utf-8" />
<title>Producto <?php echo $_GET['DTM_SERIAL']; ?></title>
<link href="/InventarioGME/estilos.css" rel="stylesheet" type="text/css" />
</head>
<script language="javascript">
function mostrar(){
	//var dato=val;
	var dato=document.form1.DTM_SERIAL_P.value;
	var emp=dato.substr(0,3);
   //alert(dato+".png");
   if (emp=="PNP") {
   	var datoImg="EMPRESA1/"+dato+".png";
   }
  if (emp=="PMA") {
   	var datoImg="EMPRESA2/"+dato+".png";
   }
 
	document.form1.var_imagen.value=datoImg;
	var prb="/InventarioGme/picture/"+datoImg;
	document.form1.img.src=prb;
	return prb
}
//-->
</script>

<body>
<form action="" method="get" name="form1" id="form1">
<input type="hidden" id="var_imagen" /> 
<input type="hidden" value="<?php echo $_GET['DTM_SERIAL']; ?>" name="DTM_SERIAL_P" id="DTM_SERIAL_P"/>
<?php 

  if (substr($_GET['DTM_SERIAL'],0,3)=='PME') {
	$val_imagen="picture/EMPRESA1/";
   }
  if (substr($_GET['DTM_SERIAL'],0,3)=="PNP") {
   	$val_imagen="picture/EMPRESA2/";
   }
  if (substr($_GET['DTM_SERIAL'],0,3)=="PMA") {
   	$val_imagen="picture/EMPRESA3/";
   }
 
$val_imagen= $val_imagen.$_GET['DTM_SERIAL'].".png"; 
 //exec('C:\WINDOWS\notepad.exe');
?>
<?php	

// DEFINO UNA VARIABLE CUANDO NO EXISTE LA IMAGEN

    define("PATH_NO_PHOTO_LARGE","picture/SIN FOTOGRAFIA.png" );
?> 

<img src="<?php  
        $link_photo_car = $val_imagen; 
     
        if (!is_array(@getimagesize($link_photo_car))) 
          // SI NO EXISTE EL ARCHIVO EN LA RUTA 
        { 
            $show_path_photo_car = PATH_NO_PHOTO_LARGE; // Photo unavailable 
        } 
        else 
        { 
     
            $show_path_photo_car = $link_photo_car;
        } 
         
        echo $show_path_photo_car;?>" width="331" height="235" id="websoundcr" name="websoundcr" title="imagen de prueba"   />

</form>
</body>
</html>
Así fue que yo lo hice y me resulto trabajando con el serial "DTM_SERIAL". Lo coloco en caso de que pueda servirte.
__________________
Deseo poco y lo poco que deseo, lo deseo poco.!
De Colores.
  #5 (permalink)  
Antiguo 30/12/2010, 16:59
Avatar de Prais  
Fecha de Ingreso: octubre-2010
Mensajes: 114
Antigüedad: 13 años, 6 meses
Puntos: 6
Exclamación Respuesta: CARICATOS: me podrias orientar un poco.Lo Necesito Urgente.

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

Supongo que bastaría con consultar el número de datos recibidos en la consulta sql; podría ser 0 (al menos yo lo hago así)... no comprendo esta línea:

Código:
if ($SqlQuery['DE_IMAGEN']=='N/I') { ...
La condición que pondría es:

Código:
if (mysql_num_rows($Result) == 0) { ...
Sobre esta consulta, la moveremos a php; y para casos así, podrías avisarme con un mp, que si bien no respondo en privado, los leo y si me atañen participo...

Saludos

Hola, gracias por responder a todos, ire por parte:

Caricatos: la linea:

Código:
if ($SqlQuery['DE_IMAGEN']=='N/I') { ...
significa que cuando un producto, no tiene ninguna imagen seleccionada, en la base de datos se registra como 'N/I'(No Informado), Asi evito guardar datos nulos, a raiz de eso, si cumple esa condicion, deberia mostrarme la imagen que por defecto defini.
eso es lo que intento hacer.

Ahora una vez definido si tiene o no imagen asociada, debo pasarsela a la variable $defecto que tienes en previsor.php, creo que hasta ahi lo logra hacer, pero luego le envias a previendo.php todo en fichero y ahi ya me pierdo.

Maycolalvarez: sorry, supuse que colocandolo en el foro javascript, tendria mas opcion de que caricatos viera mi mensaje, procurare no volver hacerlo, y como vi que no respondia los mp, pense que era la mejor opcion. tambien
agradesco tu orientacion.

Algadar: probare la sentencia de caricatos y si no me resulta, tendre que empezar, a re-construir todo el tratado de imagenes de nuevo, asi que tratare de seguir tu aporte, aunque no entendi mucho ese:
['DTM_SERIAL'];
de todas formas lo agradesco tambien.-

Probare la sentencia y me comprometo a que si me resulta, posteare todo, bien explicado, para que los usuarios que tengan el mismo problema, ya no se quebren tanto la cabeza como yo.-

Saludos.-

Etiquetas: Ninguno
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 17:14.