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

MySQL Insertar campos de varios tipos

Estas en el tema de MySQL Insertar campos de varios tipos en el foro de Bases de Datos General en Foros del Web. Hola a todos: Una vez más necesito la ayuda de alguien que sepa (no como yo ). Estoy intentando grabar a través de un formulario ...
  #1 (permalink)  
Antiguo 23/11/2010, 11:54
Avatar de Rankxerox1984  
Fecha de Ingreso: septiembre-2010
Mensajes: 253
Antigüedad: 13 años, 7 meses
Puntos: 4
MySQL Insertar campos de varios tipos

Hola a todos:

Una vez más necesito la ayuda de alguien que sepa (no como yo ).
Estoy intentando grabar a través de un formulario campos de texto e imágenes. para ser publicados después en la Web de mi proyecto.
he construido el siguiente código pero me da un error 404

Código PHP:
<?php
    
if (!isset($_POST['submit'])) { 

// form not submitted 

    
?> 

<form action="subearchivo.php" method="post" enctype="multipart/form-data"> 

<fieldset>
        <legend>Insertar Noticia</legend>
        <label for="titular">Titular:</label><input type="text" name="titular" id="nombre"size="50"/><br/><br/>
        <label for="contenido">Contenido:</label><input type="text" name="contenido" id="contenido"size="200"/>
        <input type="hidden" name="MAX_FILE_SIZE" value="100000"> 
    <br> 
    <b>Enviar un nuevo archivo: </b> 
    <br> 
    <input name="imagen" type="file"> 
    <br> 
    <input type="submit" value="Enviar"> 
    </form> 

</form> 

<?php 

else { 
// Formulario enviado
// ajustamos las variables del servidor

    
$host "localhost"
    
$user "root"
    
$pass "cecilia"
    
$db "nmbs"

// recuperamos los datos del formulario y comprobamos que está todo

    
$titular = empty($_POST['titular']) ? die ("ERROR: Pon un titular") : mysql_escape_string($_POST['titular']);
    
$contenido = empty($_POST['contenido']) ? die ("ERROR: Pon un contenido") : mysql_escape_string($_POST['contenido']);

//datos del arhivo 

    
$imagen $_FILES['imagen']['name']; 
    
$tipo_archivo $_FILES['imagen']['type']; 
    
$tamano_archivo $_FILES['imagen']['size']; 

//compruebo si las características del archivo son las que deseo 

    
if (!((strpos($tipo_archivo"gif") || strpos($tipo_archivo"jpeg")) && ($tamano_archivo 100000))) {
     echo 
"La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 100 Kb máximo.</td></tr></table>";
    }else{ 
    if (
move_uploaded_file($_FILES['imagen']['tmp_name'], $imagen)){
     echo 
"El archivo ha sido cargado correctamente."
    }else{ 
    echo 
"Ocurrió algún error al subir el fichero. No pudo guardarse."
     } 
    } 
 
// Abrimos la conexión

    
$connection mysql_connect($host$user$pass) or die ("Unable to connect!"); 

// selecciono la base de datos

    
mysql_select_db($db) or die ("Unable to select database!"); 

// generamos el query

     
$query "INSERT INTO noticias (titular, contenido, imagen) VALUES ('$titular', '$contenido','$imagen' )";
  
//ejecuto el query
 
    
$result mysql_query($query) or die ("Error in query: $query. ".mysql_error());
 
// mensaje de nuevo registro

    
echo "Nuevo registro insertado correctamente Nº: ".mysql_insert_id(); 

// cierro la conexión

    
mysql_close($connection); 
    } 
    
?> 

</BODY>
</html>
¿Alguien me puede indicar en donde tengo el fallo y cuales la solución?
Mucshiiisimas gracias por adelantado,

J.
  #2 (permalink)  
Antiguo 23/11/2010, 13:34
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: MySQL Insertar campos de varios tipos

Tu campo imagen de que tipo es? porque para guardar una imagen tienes que serializar tu campo es decir comvertir la imagen a valor binario y el campo debes de declararlo de typo Byte...creo

Saludos!
  #3 (permalink)  
Antiguo 24/11/2010, 08:22
Avatar de Rankxerox1984  
Fecha de Ingreso: septiembre-2010
Mensajes: 253
Antigüedad: 13 años, 7 meses
Puntos: 4
Respuesta: MySQL Insertar campos de varios tipos

Hola Libras:

Muchas gracias por la aclaración. Las imágenes que deseo isertar pueden ser de varios tipos, dependerá del origen, pero intuyo que la mayoria serán GIF, JPEG y GND. tengo pensado poner una indicación de formato y tamaño admitido.
¿Que es eso de declarar el campo tipo byte? ¿Como lo harias?

Muchas gracias por tu aportación
  #4 (permalink)  
Antiguo 24/11/2010, 08:45
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: MySQL Insertar campos de varios tipos

Sorry no era tipo Byte mas bien era tipo Blob jejeje aqui te dejo la descripcion de los campos tipo blob

http://www.weberdev.com/ViewArticle/...mages-in-MySQL


Y como puedes hacer esto necesitas usar el comando Serialize de php te dejo la info en esta liga:

http://php.net/manual/es/function.serialize.php

Parece que para el ejemplo de los campos tipo Blob no necesitas el serialize jejejejej :)

Saludos!
  #5 (permalink)  
Antiguo 26/11/2010, 21:11
 
Fecha de Ingreso: diciembre-2009
Mensajes: 4
Antigüedad: 14 años, 4 meses
Puntos: 0
Consulta y ayuda ..

hola amigos ando con una consulta:
paso a explicar!
tengo un proyecto grande que pienso y creo requiere de base de datos de diferentes campos..
el tema seria asi:
1 - es un web de una empresa que vende terrenos osea parcelas ok?
2 - en la pagina iria un mapa de tipo provincia de las ubicaciones de cada uno con con un icono tipo( O ) con mouse over. al salir este over daria la info de medidas, ubicaciones, precio etcetera.
3 - dado que son 150 en total y aqui viene la pregunta..
hay alguna forma de administrar esto por base de datos?
osea si dentro de un mes debo cambiar los precios y demas para no tener que abrir el FLA. cada ves que tengo q actualizar lo maneje externamente'?

gracias por leer estas lineas y muy bueno el foro!!
ojala me puedan ayudar

Gaston!
  #6 (permalink)  
Antiguo 29/11/2010, 04:07
Avatar de Rankxerox1984  
Fecha de Ingreso: septiembre-2010
Mensajes: 253
Antigüedad: 13 años, 7 meses
Puntos: 4
Respuesta: MySQL Insertar campos de varios tipos

Hola
No sé si te ayudará lo que te diré, pero yo lo que estoy intentando hacer en mi proyecto es una especie de Back Office de mantenimiento de datos a base de formularios y Updates. No te puedo decir mucho más, por que como habrás visto si has leido el post, mis problemas son mucho más elementales.

Un saludo,

Etiquetas: campos, mysql, tipo
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 09:11.