Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

ayuda con num. decimal e imagen desde mysql a php

Estas en el tema de ayuda con num. decimal e imagen desde mysql a php en el foro de Mysql en Foros del Web. Buen dia tengo unas preguntas si me podrian ayudar 1- Lo que quiero hacer es insertar un numero decimal en un campo desde php ejecute ...
  #1 (permalink)  
Antiguo 11/09/2010, 19:59
 
Fecha de Ingreso: abril-2009
Ubicación: Santa Fe, Capital
Mensajes: 38
Antigüedad: 15 años
Puntos: 0
Pregunta ayuda con num. decimal e imagen desde mysql a php

Buen dia tengo unas preguntas si me podrian ayudar

1- Lo que quiero hacer es insertar un numero decimal en un campo desde php

ejecute esta sentencia

Código MySQL:
Ver original
  1. UPDATE imagen SET ESTADISTICA=7.33 WHERE ID=1
no funciona

desde php hago lo siguiente que no me funciona

Código PHP:
$select "SELECT ID_IMAGEN,ID_USUARIO, VOTO FROM votacion WHERE ID_IMAGEN=$imagenId";
            
$subconsulta mysql_query($subselect,$baseDatos);
            
$suma 0;
            
$cantidad mysql_num_rows($subconsulta);
            while (
$row mysql_fetch_assoc($subconsulta)) {
                
$suma += $row['VOTO'];
            }
            
$promedio number_format($suma/$cantidad,2);
             
$insert "UPDATE imagen SET ESTADISTICA=$promedio WHERE ID=$imagenId";
            
mysql_query($insert$baseDatos); 
Esta seria la tabla que tengo creada

Código MySQL:
Ver original
  1. TABLE   CREATE TABLE                                                              
  2. ------  --------------------------------------------------------------------------
  3. imagen  CREATE TABLE `imagen` (                                                  
  4.           `ID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,                          
  5.           `ID_USUARIO` INT(11) UNSIGNED NOT NULL,                                
  6.           `NOMBRE` TINYTEXT NOT NULL,                                            
  7.           `ID_CATEGORIA` INT(11) UNSIGNED NOT NULL,                              
  8.           `DESCRIPCION` LONGTEXT NOT NULL,                                        
  9.           `FECHA` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,                  
  10.           `APROBADO` ENUM('0','1') NOT NULL DEFAULT '0',                          
  11.           `ESTADISTICA` DECIMAL(2,2) UNSIGNED NOT NULL,                                    
  12.           PRIMARY KEY (`ID`),                                                    
  13.           KEY `FK_imagen` (`ID_USUARIO`),                                        
  14.           KEY `FK_imagen_categoria` (`ID_CATEGORIA`)                              
  15.         ) ENGINE=INNODB AUTO_INCREMENT=26 DEFAULT CHARSET=latin1


2- Como saco el numero maximo decimal guardado

3- Como hago para cargar imagenes blob que estan en la base de datos
dentro de un select con texto algo como esto.

Código HTML:
<select name="lista">
<option value="1">NOMBRE | <img src="" /></option>
</select> 
  #2 (permalink)  
Antiguo 11/09/2010, 21:30
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: ayuda con num. decimal e imagen desde mysql a php

Ese campo DECIMAL está mal definido.
El DECIMAL se indica como DECIMAL(long, dec), donde long es la longitud total máxima representada, incluyendo enteros, puntos y decimales, mientras dec indica la cantidad de dígitos decimales a usar.
Esto implica que el menor número posible como decimal será 0.9, y para almacenarlo se necesita un DECIMAL(3,1), ya que dentro del primer parámetro debe incluirse el byte usado por el punto.

En definitiva, no puedes ingresar ese número porque excede la capacidad de almacenamiento de campo y el dato se truncaría.

Prueba usar la tabla así:

Código MySQL:
Ver original
  1. CREATE TABLE `imagen` (              
  2.           `ID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
  3.           `ID_USUARIO` INT(11) UNSIGNED NOT NULL,
  4.           `NOMBRE` TINYTEXT NOT NULL,
  5.           `ID_CATEGORIA` INT(11) UNSIGNED NOT NULL,
  6.           `DESCRIPCION` LONGTEXT NOT NULL,
  7.           `FECHA` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  8.           `APROBADO` ENUM('0','1') NOT NULL DEFAULT '0',
  9.           `ESTADISTICA` DECIMAL(5,2) UNSIGNED NOT NULL,
  10.           PRIMARY KEY (`ID`),
  11.           KEY `FK_imagen` (`ID_USUARIO`),
  12.           KEY `FK_imagen_categoria` (`ID_CATEGORIA`)
  13.         ) ENGINE=INNODB DEFAULT CHARSET=latin1
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 12/09/2010, 09:01
 
Fecha de Ingreso: abril-2009
Ubicación: Santa Fe, Capital
Mensajes: 38
Antigüedad: 15 años
Puntos: 0
Respuesta: ayuda con num. decimal e imagen desde mysql a php

Entonces seria DECIMAL(5,2) para ingresar 99.99, ahora si me funciono el numero decimal no podia avanzar por eso. Gracias

Para seleccionar el numero maximo ya lo logre

Código MySQL:
Ver original
  1. 1 registro
  2. SELECT MAX(ESTADISTICA) FROM imagen
  3.  
  4. 5 registros
  5. SELECT ESTADISTICA FROM imagen ORDER BY ESTADISTICA DESC LIMIT 5

Lo unico que queda es como cargar una imagen en select

Encontre una solucion en webtaller pero me carga solo la imagen, porque cambia el header, de la pagina.

Código PHP:
$result mysql_query("SELECT nombre,bandera FROM pais_pais WHERE Id=1");
$result_array mysql_fetch_array($result);
header("Content-Type: image/gif");
echo 
'
<select name="pais">
<option>$result_array[0] | $result_array[1]</option>
</select>
'

  #4 (permalink)  
Antiguo 12/09/2010, 19:02
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: ayuda con num. decimal e imagen desde mysql a php

Eso es más problema de programación que de MySQL. El tema pasa por cómo hacer que el parámetro ingresado sea leído como BLOB y no como string...
Mi sugerencia es que preguntes en el Foro de PHP, ya que es donde se tratan esos temas y ellos tienen más experiencia.
Por otro lado, si el tema es manejar las imágenes en una web, normalmente no se almacenan las imágenes en la tabla, sino la dirección de los archivos en el site. Es más sencillo y recarga menos a la base.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 13/09/2010, 13:36
 
Fecha de Ingreso: abril-2009
Ubicación: Santa Fe, Capital
Mensajes: 38
Antigüedad: 15 años
Puntos: 0
Respuesta: ayuda con num. decimal e imagen desde mysql a php

Lo que queria era cargar unas imagenes de banderas pequeñas 500bytes por eso queria cargarla en la base de datos, no ocupan mucho y como para no tenerlas suelta en el site. Gracias por la ayuda voy a preguntar en el foro php.

Edito
Encontre como cargar las imagenes blob de mysql en php.
En este tutorial
http://www.forosdelweb.com/f18/tutor...inario-127775/

Última edición por PanchoJ; 16/09/2010 a las 05:36 Razón: Solucion cargar imagenes blob de mysql en php

Etiquetas: php
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 00:30.