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

Como recoger el valor de otro campo ???

Estas en el tema de Como recoger el valor de otro campo ??? en el foro de Mysql en Foros del Web. Hola, Tengo una tabla (phpMyAdmin) llamada CLIENTE y en ella varios campos, por ejemplo: DIRECCION En esta tabla yo introduzco unos datos (desde un formulario ...
  #1 (permalink)  
Antiguo 13/06/2008, 11:14
 
Fecha de Ingreso: mayo-2008
Mensajes: 32
Antigüedad: 16 años
Puntos: 0
Como recoger el valor de otro campo ???

Hola,
Tengo una tabla (phpMyAdmin) llamada CLIENTE y en ella
varios campos, por ejemplo: DIRECCION
En esta tabla yo introduzco unos datos (desde un formulario
web que los graba en la Base de Datos)
Luego tengo otra tabla llamada ANUNCIO que tambien
introduzco datos via formulario web.
El problema es que me gustaría que a a hora de insertar un
ANUNCIO me saliera un listado de Clientes (de la Tabla
CLIENTE) y una vez seleccionado el Id del Cliente toda una
serie de información (que ya se introdujo en la tabla
CLIENTE me saliera automática y no tueviera que volver a
ponerla (direccion, localidad, provincia, telefono, etc.)
Osea, que me coja el valor introducido en la tabla CLIENTE
y me lo introduzca automáticamente en la tabla ANUNCIO (en
los campos correspondientes)
No se si me explico bien, soy novato en este tema.
Agradezco esta ayuda
Gracias
Xavi
  #2 (permalink)  
Antiguo 14/06/2008, 03:26
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Como recoger el valor de otro campo ???

En realidad, la parte de MySQL que tú necesitas es simple. Una consulta que genere una lista de tus clientes y en la que te traes además de los datos que te servirán para seleccionarlo (apellidos, nombre), el id de ese cliente en esa tabla para introducirlos en el selector html. Y luego la carga de datos mediante otro select una vez se selecciona en el combo el id del cliente (marcando el nombre), select que busca los datos de la otra tabla en el WHERE idcliente = $id, es decir, la variable que hayas seleccionado en el combo. Al refrescar la página con tu programa, podrás cargar los demás datos (con AJAX no tendrás que refrescarla). Pero luego tendrás que tener en cuenta si modificas algún dato de los que cargas, y hacer el update a la base de datos, y que te vuelva a mostrar los cambios. Es un proceso en el que intervienen el programa que uses, el html, y en el que MySqL sólo proporciona datos o es afectada en sus datos.
Creo que por lo que preguntas, te lo responderán en los foros de html y en el del programa que uses (PHP, ASP, JSP, etc.), e incluso en AJAX, mucho mejor que aquí nosotros.
Pide ayuda en ellos.
Empieza por solicitar ayuda para hacer un combo selector con listado procedente de una base.

quim:
menos mal, pero si nos contradecimos, yo revisaría inmediatamente mi propuesta: eso es lo primero que haría.

Última edición por jurena; 14/06/2008 a las 09:04 Razón: al leer la nota de Quimfv
  #3 (permalink)  
Antiguo 14/06/2008, 03:37
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Como recoger el valor de otro campo ???

A ver, de entrada no dupliques nunca información en una bbdd, por razones de economia de espacio y de integridad de la bbdd

economia de espacio ... no necesita aclaración

integridad de la base de datos ... imagina que tines un cliente com 1000 anuncios, tendras 1001 veces su dirección ahora imagina que al cliente se le ocurre cambiar de dirección...

Es decir si ya tienes todos los datos del cliente en la tabla de clientes, por que los vas a guardar otra vez en la tabla de anuncios, con solo guardar el identificador del cliente tienes bastante, luego una consulta combinando las dos tablas te dara los datos juntos

Código:
Select ...campos de anuncio..., ...campos de cliente 
FROM anuncios inner join clientes
     on anuncios.idcliente=clientes.idcliente;
Esta consulta te dara en cada fila los datos del anuncio y los del cliente

Listado de clientes al insertar una nuncio: debes crear un select a partir de una consulta de la tabla clientes y te mostrara los clientes, valor de la opcion el idcliente y descripción el nombre del cliente. Cuando se seleccione un cliente puedes mostrar sus datos (ajax/php consulta la tabla clientes pero solo el elegido y muestras sus datos) pero cuando guardes el anunció solo guarda el identificador del cliente (NO todos sus datos). (Si hay que modificar datos del cliente no te compliques haz lo por un formulario exlusivo para ello)


Quim

(jesús... menos mal que no nos contradecimos...)

Última edición por quimfv; 14/06/2008 a las 04:05 Razón: Al ver la respuesta de jurema
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 16:07.