Foros del Web » Programando para Internet » PHP »

Formulario PHP con conexion MySQL

Estas en el tema de Formulario PHP con conexion MySQL en el foro de PHP en Foros del Web. Hola gente, quería ver si podrían ayudarme, la verdad que ando un poco enredado dando vueltas por la zona sin lograr buenos resultados. La cuestión ...
  #1 (permalink)  
Antiguo 11/01/2013, 09:47
Avatar de Nicoeas  
Fecha de Ingreso: abril-2011
Ubicación: Argentina
Mensajes: 85
Antigüedad: 13 años
Puntos: 8
Exclamación

Hola gente, quería ver si podrían ayudarme, la verdad que ando un poco enredado dando vueltas por la zona sin lograr buenos resultados.

La cuestión es la siguiente, necesito crear una web que va a servir como una herramienta para organizar unos clientes de un negocio, sería un simple formulario que este conectado a una base de datos.

Este sitio estará manejado y administrado unicamente por mi y solo seré yo el que ingrese los datos, es por esto que tambien tiene que tener buena seguridad.

Sin irme por las ramas el formulario seria mas o menos asi:


Fecha
Nombre
Domicilio
Teléfono
Pedido
Monto
Entrega

[ACEPTAR]


al mismo tiempo quiero tener la posibilidad de buscar utilizando estos datos, esto es que tiene que existir un buscador visible y facil de usar en el cual pueda buscar con filtros para poder encontrar con facilidad estos datos que se han ingresado antiguamente...

Espero que esto haya sido claro, cualquier duda por favor haganmela llegar, mis conocimientos con PHP son basicos y de MySQL no se casi nada xD asi que si puedieran ayudarme les agradeceria infinitamente desde ya muchisimas gracias a todos lo que puedan colaborar con esta extensa y ardua tarea :D

si pudieran ir guiandome seria idea, todo esto sera trabajado en un hosting gratuito de 000webhost.com por cuestiones economicas, muchas gracias
__________________
Nicoeas

Última edición por GatorV; 11/01/2013 a las 10:07
  #2 (permalink)  
Antiguo 11/01/2013, 10:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Formulario PHP con conexion MySQL

¿Cual es tu duda/problema?

Si buscas que alguien te haga el código, estas equivocado y mejor ve a la sección de Empleo.

Recuerda que en el foro solo se resuelven dudas, no se hace todo el código..

Saludos.
  #3 (permalink)  
Antiguo 11/01/2013, 10:40
Avatar de Nicoeas  
Fecha de Ingreso: abril-2011
Ubicación: Argentina
Mensajes: 85
Antigüedad: 13 años
Puntos: 8
Respuesta: Formulario PHP con conexion MySQL

Cita:
Iniciado por GatorV Ver Mensaje
¿Cual es tu duda/problema?

Si buscas que alguien te haga el código, estas equivocado y mejor ve a la sección de Empleo.

Recuerda que en el foro solo se resuelven dudas, no se hace todo el código..

Saludos.
osea no se como conectar cada casilla del formulario con la tabla... nose si me explico...
__________________
Nicoeas
  #4 (permalink)  
Antiguo 11/01/2013, 11:03
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, 4 meses
Puntos: 2658
Respuesta: Formulario PHP con conexion MySQL

No existe "conexión", en el sentido que pareces mencionar. El funcionamiento es algo distinto.
¿Qué has probado hasta ahora?

Muestranos tus códigos, lo que sea que hayas intentado.

O por lo menos acude a las FAQs de este mismo Foro: FDW::FAQs de PHP::Integración con Bases de Datos
__________________
¿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 11/01/2013, 12:56
Avatar de DeivisAndres  
Fecha de Ingreso: febrero-2012
Ubicación: Colombia
Mensajes: 305
Antigüedad: 12 años, 2 meses
Puntos: 41
Respuesta: Formulario PHP con conexion MySQL

En google encuentras de todo, mira aqui te pongo una pagina excelente que te puede guiar desde el comienzo: PHP Ya. si dejas que todo te lo hagan que te queda para ti.
  #6 (permalink)  
Antiguo 11/01/2013, 19:53
Avatar de Nicoeas  
Fecha de Ingreso: abril-2011
Ubicación: Argentina
Mensajes: 85
Antigüedad: 13 años
Puntos: 8
Respuesta: Formulario PHP con conexion MySQL

Cita:
Iniciado por DeivisAndres Ver Mensaje
En google encuentras de todo, mira aqui te pongo una pagina excelente que te puede guiar desde el comienzo: PHP Ya. si dejas que todo te lo hagan que te queda para ti.
Gracias por tu buena voluntad, tengo el concepto de que en este tipo de foros todos estamos para ayudarnos, en mi caso este no es mi campo, sino mas para el lado de diseño grafico o html... el tema es q yo no pretendo q ustedes hagan todo, la duda esta planteada, no se como "conectar" cada input del formulario con la tabla que le corresponde en la base de datos, es un poco tedioso esto para alguien q es novato en el tema, por lo tanto les pido que si no pueden hacerlo de buena voluntad, directamente dejen de participar en el tema...

muchas gracias por la atencion
__________________
Nicoeas
  #7 (permalink)  
Antiguo 11/01/2013, 20:03
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años
Puntos: 270
Respuesta: Formulario PHP con conexion MySQL

La "conexión", como la llamas, consiste en que desde php, consultas la base de datos, obtienes los valores, y los usas para generar el html del formulario, que incluye los inputs, donde estableces el atributo "value" (por lo general) al valor obtenido de la base de datos.
Es todo lo que te puedo explicar antes de que también se me vuelva "tedioso" a mí!
  #8 (permalink)  
Antiguo 11/01/2013, 20:32
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, 4 meses
Puntos: 2658
Respuesta: Formulario PHP con conexion MySQL

Cita:
no se como "conectar" cada input del formulario con la tabla que le corresponde en la base de datos,
No existe en PHP una conexión punto a punto como la que describes. El funcionamiento es en realidad asincrónico, con JavaScript o lo que fuese gestionas los eventos, los envias al PHP; en PHP administras esos datos y los envías a MySQL, o bien lees desde la base y luego envías a mostrarlos en la vista...
Es un proceso "tedioso", pero esa es la forma, descripta de un modo algo tosco.
Ten en cuenta que estás trabajando en Web, y en Web el funcionamiento es por definición asincrónico, a diferencia de lo que puedes hacer con una aplicación de escritorio.

Empieza por practicar algo de la gestión de datos desde el formulario al PHP, y recién cuando lo entiendas podrás avanzar hasta la base de datos.
En definitiva tendrás que manejar como mínimo tres o cuatrolenguajes para hacer todo: HTML, JavaScript (puede que no), PHP y SQL.
Es lo que hacemos todos...

Lee las FAQs que te digo (FDW::FAQs de PHP::Integración con Bases de Datos).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 11/01/2013, 23:30
Avatar de Nicoeas  
Fecha de Ingreso: abril-2011
Ubicación: Argentina
Mensajes: 85
Antigüedad: 13 años
Puntos: 8
Respuesta: Formulario PHP con conexion MySQL

Bueno ahi vamos enfocando un poco mejor las cosas.

Cita:
Iniciado por dashtrash Ver Mensaje
La "conexión", como la llamas, consiste en que desde php, consultas la base de datos, obtienes los valores, y los usas para generar el html del formulario, que incluye los inputs, donde estableces el atributo "value" (por lo general) al valor obtenido de la base de datos.
Es todo lo que te puedo explicar antes de que también se me vuelva "tedioso" a mí!
es clarisimo lo q me decis, y ahora lo veo mas claro, te todas formas mis conocimientos no son nulos en cuanto a MySQL, PHP y otros, eh estado leyendo por mucho tiempo sobre estos lenguajes sin llegar a comprenderlos completamente, y es por esto que vengo con estas dudas... voy a comenzar nuevamente con este trabajo y voy a pegar codigos asi los vamos fixeando... Muchas gracias por su paciencia
__________________
Nicoeas
  #10 (permalink)  
Antiguo 12/01/2013, 16:38
Avatar de Eddy_  
Fecha de Ingreso: agosto-2012
Ubicación: Estado de México
Mensajes: 3
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Formulario PHP con conexion MySQL

Hola Nicoeas, ¿Para que usar un <input> para la fecha?, esa la puedes obtener con la función now() de MySQL sin la necesidad de crear un <input> en tu formulario para capturarla, leyendo todos los comentarios, se te dificulta el juego de registros para un formulario, un INSERT, UPDATE, DELETE, SELECT, si quieres ponerle validación a tus <input> tendras que usar algo de JavaScript para poder hacerlo. Echale un ojo a este sitio, comparten buena información -> www.librosweb.es
  #11 (permalink)  
Antiguo 17/01/2013, 10:34
Avatar de Nicoeas  
Fecha de Ingreso: abril-2011
Ubicación: Argentina
Mensajes: 85
Antigüedad: 13 años
Puntos: 8
Respuesta: Formulario PHP con conexion MySQL

Muchacho, voy asi:

Index.php:
Código PHP:
Ver original
  1. <?php include("conect.php");
  2. $v1=$_GET['1'];//recuperamos la primer variable estara en .com/estaeslavariable/
  3. $Fecha=$_POST['Fecha'];//En caso de que el usuario escriba una frase aqui la recibiremos
  4. $Nombre=$_POST['Nombre'];
  5. $Domicilio=$_POST['Domicilio'];
  6. $Telefono=$_POST['Telefono'];
  7. $Pedido=$_POST['Pedido'];
  8. $Monto=$_POST['Monto'];
  9. $Entrega=$_POST['Entrega'];
  10. $se=$_POST['se'];//para evitar un poco a los robots
  11. $tucompu=$_POST['tucompu'];//si es un bot de spam, esto estara con info, y no procedemos!
  12. $dominio=$_SERVER['HTTP_HOST'];//haci no tendras que escribir tu dominio en todos los links!!!
  13.  
  14. ?>    
  15.  
  16. <!DOCTYPE html>
  17. <html>
  18.     <head>
  19.         <title>Clientes</title>
  20. </head>
  21.     <body>
  22.  
  23. <h1>Registrar Nuevo Cliente</h1>
  24.  
  25. <form>
  26. <input type="text" name="Fecha" value="Fecha" id="Fecha" size="40" data-label="Fecha" class="Fecha"> </br>
  27. <input type="text" name="Nombre" value="Nombre" id="Nombre" size="40" data-label="Nombre" class="Nombre"> </br>
  28. <input type="text" name="Domicilio" value="Domicilio" id="Domicilio" size="40" data-label="Domicilio" class="Domicilio"> </br>
  29. <input type="text" name="Telefono" value="Telefono" id="Telefono" size="40" data-label="Telefono" class="Telefono"> </br>
  30.  
  31. <textarea name="Pedido" value="Pedido" id="Pedido" rows="6" cols="31" data-label="Pedido" class="Pedido">Pedido</textarea> </br>
  32.  
  33. <input type="text" name="Monto" value="Monto" id="Monto" size="40" data-label="Monto" class="Monto"> </br>
  34. <input type="text" name="Entrega" value="Entrega" id="Entrega" size="40" data-label="Entrega" class="Entrega"> </br>
  35.  
  36.  
  37. <input type="submit" name="Enviar" value="Enviar" id="Enviar" data-label="Enviar" class="Enviar">
  38. </form>
  39.  
  40. </body>
  41. </html>

conect.php:
Código PHP:
Ver original
  1. <?
  2. mysql_select_db("a5151937_cliente",mysql_connect("localhost","usuario","pass"));
  3. ?>

database:
Código SQL:
Ver original
  1. -- phpMyAdmin SQL Dump
  2. -- version 2.11.4
  3. -- http://www.phpmyadmin.net
  4. --
  5. -- Host: localhost
  6. -- Generation Time: Jan 17, 2013 at 11:30 AM
  7. -- Server version: 5.1.57
  8. -- PHP Version: 5.2.17
  9.  
  10. SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
  11.  
  12. --
  13. -- Database: `a5151937_cliente`
  14. --
  15.  
  16. -- --------------------------------------------------------
  17.  
  18. --
  19. -- Table structure for table `Clientes`
  20. --
  21.  
  22. CREATE TABLE `Clientes` (
  23.   `Fecha` text COLLATE latin1_general_ci NOT NULL,
  24.   `Nombre` text COLLATE latin1_general_ci NOT NULL,
  25.   `Domicilio` text COLLATE latin1_general_ci NOT NULL,
  26.   `Telefono` text COLLATE latin1_general_ci NOT NULL,
  27.   `Pedido` text COLLATE latin1_general_ci NOT NULL,
  28.   `Monto` text COLLATE latin1_general_ci NOT NULL,
  29.   `Entrega` text COLLATE latin1_general_ci NOT NULL
  30. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
  31.  
  32. --
  33. -- Dumping data for table `Clientes`
  34. --

Como voy? que me falta? Muchas gracias
__________________
Nicoeas
  #12 (permalink)  
Antiguo 17/01/2013, 10:36
Avatar de Nicoeas  
Fecha de Ingreso: abril-2011
Ubicación: Argentina
Mensajes: 85
Antigüedad: 13 años
Puntos: 8
Respuesta: Formulario PHP con conexion MySQL

Cita:
Iniciado por Eddy_ Ver Mensaje
Hola Nicoeas, ¿Para que usar un <input> para la fecha?, esa la puedes obtener con la función now() de MySQL sin la necesidad de crear un <input> en tu formulario para capturarla, leyendo todos los comentarios, se te dificulta el juego de registros para un formulario, un INSERT, UPDATE, DELETE, SELECT, si quieres ponerle validación a tus <input> tendras que usar algo de JavaScript para poder hacerlo. Echale un ojo a este sitio, comparten buena información -> www.librosweb.es
La Fecha no seria la fecha en que se rellena el formulario, sino una fecha que ya paso, una fecha que hay que ingresar manualmente... por eso lo pongo con un input...
__________________
Nicoeas
  #13 (permalink)  
Antiguo 17/01/2013, 11:15
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, 4 meses
Puntos: 2658
Respuesta: Formulario PHP con conexion MySQL

Disculpa que te lo diga así, pero esto es casi un espanto:
Código MySQL:
Ver original
  1. CREATE TABLE `Clientes` (
  2.   `Fecha` text COLLATE latin1_general_ci NOT NULL,
  3.   `Nombre` text COLLATE latin1_general_ci NOT NULL,
  4.   `Domicilio` text COLLATE latin1_general_ci NOT NULL,
  5.   `Telefono` text COLLATE latin1_general_ci NOT NULL,
  6.   `Pedido` text COLLATE latin1_general_ci NOT NULL,
  7.   `Monto` text COLLATE latin1_general_ci NOT NULL,
  8.   `Entrega` text COLLATE latin1_general_ci NOT NULL
  9. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

Un importe (Monto), no puede ser TEXT. O es DECIMAL o es FLOAT, pero jamás es texto.
Y una fecha es un DATE, DATETIME o TIMESTAMP, pero jamás es un TEXT. Ni en sueños.
Con ese tipo de dato, lo único que lograrás es tener enormes complicaciones cuando debas consultar a la base...

Fuera de eso, una fecha se puede enviar a la base como una cadena de texto, en tanto se respete el formato esperado: AAAA-MM-DD. MySQL lo interpretará como fecha cuando lo inserte en su campo, o bien se le peude hacer una conversión explícita.
En todo caso, la fecha la puedes ingresar manualmente, pero yo en ese caso te sugeriría que le implementaras un modo de validación on-line, como por ejemplo usando JavaScript (supongo que puede haber otros modos mejores), para evitar que metan basura en el TextBox.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #14 (permalink)  
Antiguo 17/01/2013, 11:24
Avatar de Nicoeas  
Fecha de Ingreso: abril-2011
Ubicación: Argentina
Mensajes: 85
Antigüedad: 13 años
Puntos: 8
Respuesta: Formulario PHP con conexion MySQL

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Disculpa que te lo diga así, pero esto es casi un espanto:
Código MySQL:
Ver original
  1. CREATE TABLE `Clientes` (
  2.   `Fecha` text COLLATE latin1_general_ci NOT NULL,
  3.   `Nombre` text COLLATE latin1_general_ci NOT NULL,
  4.   `Domicilio` text COLLATE latin1_general_ci NOT NULL,
  5.   `Telefono` text COLLATE latin1_general_ci NOT NULL,
  6.   `Pedido` text COLLATE latin1_general_ci NOT NULL,
  7.   `Monto` text COLLATE latin1_general_ci NOT NULL,
  8.   `Entrega` text COLLATE latin1_general_ci NOT NULL
  9. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

Un importe (Monto), no puede ser TEXT. O es DECIMAL o es FLOAT, pero jamás es texto.
Y una fecha es un DATE, DATETIME o TIMESTAMP, pero jamás es un TEXT. Ni en sueños.
Con ese tipo de dato, lo único que lograrás es tener enormes complicaciones cuando debas consultar a la base...

Fuera de eso, una fecha se puede enviar a la base como una cadena de texto, en tanto se respete el formato esperado: AAAA-MM-DD. MySQL lo interpretará como fecha cuando lo inserte en su campo, o bien se le peude hacer una conversión explícita.
En todo caso, la fecha la puedes ingresar manualmente, pero yo en ese caso te sugeriría que le implementaras un modo de validación on-line, como por ejemplo usando JavaScript (supongo que puede haber otros modos mejores), para evitar que metan basura en el TextBox.

jaja es obvio que yo no escribi eso, la creo el servidor automaticamente, sinceramente no entiendo nada de lo que pusiste, solo veo que no aclare que a este sitio unicamente lo voy a utilizar yo, y nadie mas, esto quiere decir que no va a haber gente q ingrese datos innecesarios... podrias ayudarme con lo q pusiste mas arriba por favor?
__________________
Nicoeas
  #15 (permalink)  
Antiguo 17/01/2013, 12: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, 4 meses
Puntos: 2658
Respuesta: Formulario PHP con conexion MySQL

Por lo pronto, esa tabla debería al menos tener esta definición:
Código MySQL:
Ver original
  1. CREATE TABLE `Clientes` (
  2.   `Fecha` DATE NOT NULL,
  3.   `Nombre` VARCHAR(100) NOT NULL,
  4.   `Domicilio` VARCHAR(300) NOT NULL,
  5.   `Telefono` VARCHAR(20) NOT NULL,
  6.   `Pedido` ????????????? NOT NULL,
  7.   `Monto` DECIMAL(14, 2) NOT NULL,
  8.   `Entrega` ???????????? NOT NULL
  9. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

No indico qué tipo de datos son "Pedido" y "Entrega", porque no se infiere qué son y por tanto no estoy seguro de qué tiene que ir, por lo que te pido que expliques qué datos se almacenarán. De ese modo puedo sugerirte qué tipo de columna usar.

No se deben usar columnas de tipo TEXT a menos que sean datos no discriminables, sin restricciones de ningún tipo, como comentarios, explicaciones, descripciones generales, o textos largos.
Todo dato que tenga un dominio definido (esto es igual que en matemática: el tipo de valores de existencia), como Calle, Nombre, Ciudad, Descripción técnica, etc., debe ir con un VARCHAR donde se indique cuál será su longitud máxima. Es un estándar de buenas prácticas.
El hecho de que el sistema te ponga esos tipos de campos por default no implica que no los debas modificar, o afinar. Eso hace también a las buenas prácticas, y el trabajo profesional.
En cuanto a que sólo lo uses tu, eso tampoco implica que la base de datos deba estar mal diseñada. No lo justifica, y tarde o temprano lo pagarás con performance, procesos innecesarios, o espacio desperdiciado.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: conexion, formulario, mysql
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 07:10.