Foros del Web » Programando para Internet » PHP »

Introducir en diferentes tablas mediante una sola query

Estas en el tema de Introducir en diferentes tablas mediante una sola query en el foro de PHP en Foros del Web. Buenas, tengo un menú mediante el cual la opción 1 es insertar un cliente y la opción 2 es insertar un producto, ambos enlaces conducen ...
  #1 (permalink)  
Antiguo 02/04/2011, 10:09
 
Fecha de Ingreso: diciembre-2007
Mensajes: 26
Antigüedad: 16 años, 11 meses
Puntos: 1
Introducir en diferentes tablas mediante una sola query

Buenas, tengo un menú mediante el cual la opción 1 es insertar un cliente y la opción 2 es insertar un producto, ambos enlaces conducen a sus respectivos formularios, pero solamente puede existir una función insertar y una sola query. ¿cómo puedo hacer eso?

He pensado que en un principio el vínculo de insertar cliente pasa por url una variable llamada tabla igualada al nombre de la tabla "cliente" para colocar en la query cuando se llame a la función, y lo mismo con el vínculo producto.

El problema me lo encuentro a la hora de insertar los registros de cada tabla. La tabla cliente tiene nif, nombre y apellidos como atributos, y la tabla producto tiene ref, nombre, descripcion precio y stock.

¿Como puedo hacer mediante una sola query que inserte o un cliente o un producto según la opción que hayas elegido?

Gracias
  #2 (permalink)  
Antiguo 02/04/2011, 10:41
 
Fecha de Ingreso: diciembre-2007
Mensajes: 26
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: Introducir en diferentes tablas mediante una sola query

Se me había ocurrido algo parecido a esto, pero no se si es una barbaridad...

<?
function insertar($tabla, $nif, $nombre, $apellidos, $ref, $nompro, $descripcion, $precio, $stock)
{
if($nif!='')
{
$values= "$nif, '$nombre', '$apellidos'";
}
else
{
$values= "$ref, '$nompro', '$descripcion', $precio, $stock";
}

$result = mysql_query("INSERT INTO '$tabla' VALUES ('$values') ");

}
?>
  #3 (permalink)  
Antiguo 02/04/2011, 10:45
 
Fecha de Ingreso: enero-2011
Mensajes: 25
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Introducir en diferentes tablas mediante una sola query

Yo lo pondría en una condición if, entonces si el valor de $_GET es igual a cliente, entonces qu inserte el cliente y si es producto que inserte el producto, no se si si es lo que quieres

Bendiciones
  #4 (permalink)  
Antiguo 02/04/2011, 10:53
 
Fecha de Ingreso: diciembre-2007
Mensajes: 26
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: Introducir en diferentes tablas mediante una sola query

Eso sería lo normal, pero la condición a cumplir es que en la función insertar solo exista una query, eso es lo que me complica la historia.
  #5 (permalink)  
Antiguo 02/04/2011, 16:03
Avatar de TylerD  
Fecha de Ingreso: enero-2011
Mensajes: 22
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: Introducir en diferentes tablas mediante una sola query

Si estoy en lo correcto seria algo parecido a lo que tu has hecho antes, algo como esto:

Código PHP:
funcion insertar ()
{
$tabla$_GET['vble'];
$parametros func_get_args();
mysql_query("INSERT INTO '$tabla' VALUES ('$parametros')");

Donde la variable 'tabla' es donde recojes si es cliente o producto, y la variable $parametros recoje todos los parametros de la funcion con la funcion 'func_get_args()' que sirve para funciones con parametros variables.

@Edito: Eso no va a funcionar me parece, porque la funcion devuelve un array, y no lo estoy tratando como array

Última edición por TylerD; 02/04/2011 a las 16:15

Etiquetas: insertinto, sql-sentencia
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 14:07.