Foros del Web » Programando para Internet » PHP »

Ingreso uno a muchos con php y mysql

Estas en el tema de Ingreso uno a muchos con php y mysql en el foro de PHP en Foros del Web. Hola a todo espero que esten bien, en primer lugar no se donde colocar mi pregunta estoy medio perdido ya que no se si esto ...
  #1 (permalink)  
Antiguo 28/09/2010, 16:02
 
Fecha de Ingreso: octubre-2007
Mensajes: 43
Antigüedad: 16 años, 5 meses
Puntos: 0
Pregunta Ingreso uno a muchos con php y mysql

Hola a todo espero que esten bien, en primer lugar no se donde colocar mi pregunta estoy medio perdido ya que no se si esto tiene que ir en html, php .... etc.

Lo que quiero hacer es un formulario que me permita ingresar registros que sean de uno a mucho.

ejemplo:
tabla1 (cod_Cliente;nombre_cliente),
tabla2(cod_Cliente;articulo;precio)

O sea que la cabecera sea la tabla1 y luego poder ingresar en la tabla2 todos los articulos que ese cliente alla comprado, pero que en la segunda tabla el cod_cliente concuerde automaticamente con el cod_cliente de la tabla 1

Lo que yo siempre hago es esto:

<form action='ingresar.php' method='POST'>
<table style='border:1px solid #000000;'>
<tr>
<td align='right'> codigo cliente:
<input type='text' size='15' maxlength='25' name='cod_cliente'></td>
</tr>
<td align='right'> nombre cliente:
<input type='text' size='15' maxlength='25' name='nombre_cliente'></td
<tr>
<td align='right'> articulo:
<input type='text' size='15' maxlength='25' name='articulo'></td
<tr>
<td align='right'> precio:
<input type='text' size='15' maxlength='25' name='precio'></td

<td align='center'><input name="submit" type="submit" value="Ingresar"></td>
</table>
</form>

y en php coloco algo asi:

mysql_connect ($dbhost, $dbusername, $dbuserpass);
mysql_select_db($dbname) or die("Cannot select database");

$cod_cliente = $_POST["cod_cliente"];
$nombre_cliente = $_POST["nombre_cliente"];
$articulo = $_POST["articulo"];
$precio = $_POST["precio"];

$query = "INSERT INTO tabla (cod_cliente,nombre_cliente , articulo, precio) values ($cod_cliente,$nombre_cliente ,$articulo,$precio);

Pero esto que puse me sirve para ingresar una linea de registro a una tabla.

Lo que yo quiero es que me deje ingresar en el mismo formulario varios articulos para un cliente, pero no se si tengo que hacer miles de cajas de articulos y precio para ir agregando o si hay otra forma que al ingresar un articulo y precio y presione tab o enter baje y cree otra dos cajas de texto para ingresar otro articulo con su precio, pero si es asi como en php despues hago para que sepa que esos son distintos registros que tiene que ir e la tabla2 asociados al cod_cliente que esta en la tabla1. espero haber sido claro y muchas gracias como siempre por sus respuestas...
  #2 (permalink)  
Antiguo 28/09/2010, 16:10
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Ingreso uno a muchos con php y mysql

Hola
bueno, pues puedes hacer uso de ajax o jquery para ir dibujando dinámicamente los artículos si necesita más, y luego a cada input nombrarlo del mismo modo y hacer que sean arrays, algo así

Código HTML:
Ver original
  1. <input type="text" name="cantidad[]"/>

y así con todos, para que en el momento que se envie a php puedas recorrer cada variable como un arreglo independiente, y así, quedaría más fácil hacer el insert por cada posición de cada array pues coincidira el total de posiciones de cada array con los n articulos que hayas comprado

si no has usado mucho arrays en php, imagino esto que te digo puede confundirte, así que te sugiero revises aquí en foros temas similares donde se habla del tema de usar un campo html como array y luego usarlo en php

espero te sirvan las ideas
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 28/09/2010, 16:12
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Ingreso uno a muchos con php y mysql

Hola

Vayamos por pasos. Primero has de ir al foro de javascript y preguntar como generar campos dinámicamente

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #4 (permalink)  
Antiguo 29/09/2010, 06:38
 
Fecha de Ingreso: octubre-2007
Mensajes: 43
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Ingreso uno a muchos con php y mysql

Hola Mortiprogramador y Adler gracias por sus respuestas...

Mortiprogramador buscare informacion sobre arrays en php para tener una vision mas amplia,
pero creo que empezare con lo que dice Adler creo que necesito tener mi formulario dinamico para poder lograr lo que busco, bueno mientras busco informacion como lograr esto mi duda es si solamente con javascript puedo conseguir un formulario dinamico o tambien con otro lenguaje como por ejemplo asp?

saludos...
  #5 (permalink)  
Antiguo 29/09/2010, 18:56
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Ingreso uno a muchos con php y mysql

Hola
bueno, el ejemplo que te puse es html solamente para hacer campos dinámicos (por dinámicos digo que se comporten como un array) y pues en javascript lo que podría hacer es dibujar más de estos pero pues sigue siendo html finalmente el formulario

de nuevo te comento, aquí en los foros de php hay bastantes temas que hablan
de este tipo de formularios y el uso del mismo

seguramente para manipularlos una vez los envies también puedes usar asp pero pues ahi si te tocaría pasar al foro asp para que revises info

saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Etiquetas: ingreso, muchos, 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 22:20.