Foros del Web » Programando para Internet » PHP »

uso de multiples querys...se puede??

Estas en el tema de uso de multiples querys...se puede?? en el foro de PHP en Foros del Web. Hola!! aki viene un novato en php q necesita de ayuda.. mi problema es este: Tengo un formulario para registrar solicitudes de empleos tengo una ...
  #1 (permalink)  
Antiguo 01/07/2008, 09:42
 
Fecha de Ingreso: abril-2008
Mensajes: 9
Antigüedad: 16 años
Puntos: 0
Pregunta uso de multiples querys...se puede??

Hola!!
aki viene un novato en php q necesita de ayuda..
mi problema es este:

Tengo un formulario para registrar solicitudes de empleos
tengo una una BD el cual tiene 5 tablas relacionadas entre si con informacion del empleado

DATOS_GRALES
EDOCIVIL
ESCOLARIDAD
EXP_LABORAL
REFERENCIAS
APTIUDES

como le hago para guardar este registro, ya que en un solo query no puedo hacer la consulta insert dirigida a varias tablas..


***SE PUEDE HACER ESTO???*****
esta es una parte del codigo

Código PHP:
$conex=mysql_connect('localhost','root','admin') or die ("No se puede conectar a la base de datos");//Conexion a la base de datos
mysql_select_db("solicitudes");


if(
$result=mysql_query
("insert into datos_grales(folio, nombre, ap, am, calle, colonia, postal, poblacion, tel, foto, religion, licmanejo, carmilitar, rfc, imss, nacionalidad, estatura, sexo, peso, edad, fecha_nac, lugar_nac)
values
('$folio', '$nombre', '$paterno', '$materno', '$calle', '$colonia', '$postal', '$poblacion', '$telefono', '$foto', '$religion', '$licmanejo', '$carmilitar', '$rfc', '$imss', '$nacionalidad', '$estatura', '$sexo', '$peso', '$edad', '$fechanac', '$lugarnac' "
)

mysql_query
("insert into edocivil(folio, edo_civil, num_hijos, nom_conyu, vive_con, vive_dom, cuan_depend, nom_pa, nom_ma)
values
('$folio', '$edocivil', '$hijos', '$nomconyu', '$vivecon', '$vivedom', '$cuan_depend', '$puesto_des', '$hijos', '$nom_pa', '$nom_ma' "
);

mysql_query
("insert into exp_laboral(folio, f_ini1, f_fin1, compania1, dom1, tel1, puesto1, sueldo1, f_ini2, f_fin2, compania2, dom2, tel2, puesto2, sueldo2)  
values
('$f_ini1', '$f_fin1', '$compania1', '$dom_trabajo1', '$tel_trabajo1', '$puesto1', '$sueldo1', '$f_ini2', '$f_fin2', '$compania2', '$dom_trabajo2', '$tel_trabajo2', '$puesto2', '$sueldo2' "
)

mysql_query
("inser into escolaridad(folio, estudio, escuela, poblacion, estado, del, al)
values
('$folio', '$estudio', '$escuela', '$poblacion_estado', '$del', '$al' "
);

mysql_query
("inser into aptitudes(folio, espanol, ingles, comentarios)
values
('$folio', '$espanol', '$ingles', '$comentarios' "
)

mysql_query
("insert into referencias(nombre1, dom1, tel1, ocupacion1, anios conocerlo1, nombre2, dom2, tel2, ocupacion2, anios_conocerlo2)
values
('$nombre1', '$domref1', '$telref1', '$ocupacionref1', '$aniosref1', '$nombre2', '$domref2', '$telref2', '$ocupacionref2', '$aniosref2' )"
,$conex));
{
    
header ("Location: registro.php?guardado=si");
}
else
{
    
header ("Location: registro.php?error_registro=si");
}
mysql_close($conex);
?> 

AYUDA POR FAVOR!!!

o q me aconsejan???
  #2 (permalink)  
Antiguo 01/07/2008, 10:16
cLe
 
Fecha de Ingreso: junio-2008
Mensajes: 29
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: uso de multiples querys...se puede??

si dentro de un formulario puedes hacer cuantos querys necesites lo mejor es que los identes bien conm diferentes nombres de variables por ejemplo $sql1 $restult1, $sql2, etc, para que los identifiques claramente
  #3 (permalink)  
Antiguo 01/07/2008, 10:17
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Respuesta: uso de multiples querys...se puede??

pues claro... t recomiendo q en caso de insert y ya q a mi parecer es una bd de recursos humanos agrupes tooooodas esas tablas en una sola.... seria mucho mas sencillo, no t ahogues usando multiples consultas para un insert

saludos
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #4 (permalink)  
Antiguo 01/07/2008, 10:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: uso de multiples querys...se puede??

Hola ziu7,

Que problema tienes, ya que el código que propones debe de funcionar correctamente.

Saludos.
  #5 (permalink)  
Antiguo 01/07/2008, 11:21
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Respuesta: uso de multiples querys...se puede??

El solo quiere saber si se puede... creo q orientandolo un poco a q debe hacer seria una gran ayuda...
man nos explicas un poco que deseas hacer y q clase de sistemas es???
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #6 (permalink)  
Antiguo 01/07/2008, 12:04
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: uso de multiples querys...se puede??

bueno... no es necesario ponerlos dentro del if, pero si... yo creo que si se puede

incluso... este ejemplo, haber que te dice

Código PHP:
mysql_query('CANDY') && mysql_query('BAR') && mysql_query('FOO');

//incluso asi...

mysql_query('CANDY');
mysql_query('BAR');
mysql_query('FOO'); 
PDTA: candy, bar y foo solo son pseudo, consultas...

enserio, no le veo necesidad de meterlos al if
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 01/07/2008, 12:51
 
Fecha de Ingreso: abril-2008
Mensajes: 9
Antigüedad: 16 años
Puntos: 0
Respuesta: uso de multiples querys...se puede??

Hola!!
aki de nuevo
pss me gusto la idea de juntar las 6 tablas en una sola..

y este es mi codigo..de guardar.php
(disculpen los nombres de los campos....estan raros..)


Código PHP:
<?php
$fech_reg
=$_POST["fech_reg"];  //este campo es para guardar la fecha del reg
$paterno=$_POST["paterno"];
$materno=$_POST["materno"];
$nombre=$_POST["nombre"];
$calle=$_POST["calle"];
$colonia=$_POST["colonia"];
$postal=$_POST["postal"];
$poblacion=$_POST["poblacion"];
$telefono=$_POST["telefono"];
$foto=$_POST["foto"];
$religion=$_POST["religion"];
$licmanejo=$_POST["licmanejo"];
$carmilitar=$_POST["carmilitar"];
$rfc=$_POST["rfc"];
$imss=$_POST["imss"];
$nacionalidad=$_POST["nacionalidad"];
$estatura=$_POST["estatura"];
$peso=$_POST["peso"];
$sexo=$_POST["sexo"];
$edad=$_POST["edad"];
$edocivil=$_POST["edocivil"];
$nomconyu=$_POST["nomconyu"];
$vivecon=$_POST["vivecon"];
$vivedom=$_POST["vivedom"];
$cuan_depend=$_POST["cuan_depend"];
$puesto_des=$_POST["puestodes"];
$hijos=$_POST["hijos"];
$nom_pa=$_POST["nom_pa"];
$nom_ma=$_POST["nom_ma"];
$fechanac=$_POST["ano"].'-'.$_POST["mes"].'-'.$_POST["dia"];
$lugarnac=$_POST["lugarnac"];
$f_ini1=$_POST["delm1"].'-'.$_POST["dela1"];
$f_fin1=$_POST["alm1"].'-'.$_POST["ala1"];
$compania1=$_POST["compania1"];
$dom_trabajo1=$_POST["dom_trabajo1"];
$tel_trabajo1=$_POST["tel_trabajo1"];
$puesto1=$_POST["puesto1"];
$sueldo1=$_POST["sueldo1"];
$f_ini2=$_POST["delm2"].'-'.$_POST["dela2"];
$f_fin2=$_POST["alm2"].'-'.$_POST["ala2"];
$compania2=$_POST["compania2"];
$dom_trabajo2=$_POST["dom_trabajo2"];
$tel_trabajo2=$_POST["tel_trabajo2"];
$puesto2=$_POST["puesto2"];
$sueldo2=$_POST["sueldo2"];
$estudio=$_POST["estudios"];
$escuela=$_POST["escuela"];
$poblacion_estado=$_POST["poblacion_estado"];
$del=$_POST["del_ano"];
$al=$_POST["al_ano"];
$ingles=$_POST["ingles"];
$espanol=$_POST["espanol"];
$aptitudes=$_POST["aptitudes"];
$nombre1=$_POST["nombre1"];
$domref1=$_POST["dom1"];
$telref1=$_POST["tel_ref1"];
$ocupacionref1=$_POST["ocupacion1"];
$aniosref1=$_POST["anios_conocerlo1"];
$nombre2=$_POST["nombre2"];
$domref2=$_POST["dom2"];
$telref2=$_POST["tel_ref2"];
$ocupacionref2=$_POST["ocupacion2"];
$aniosref2=$_POST["anios_conocerlo2"];
$casoemergencia=$_POST["casoemergencia"];

$conex=mysql_connect('localhost','root','admin') or die ("No se puede conectar a la base de datos");//Conexion a la base de datos

mysql_select_db("solicitudes");
if(
$result=mysql_query
("insert into solicitudes(ap, am, nombre, calle, colonia, postal, poblacion, tel, foto, religion, licmanejo, carmilitar, rfc, imss, nacionalidad, estatura, sexo, peso, edad, edo_civil, nom_conyu, vive_con, vive_dom, cuan_depend, puesto_des, num_hijos, nom_pa, nom_ma, fecha_nac, f_ini1, f_fin1, compania1, dom_trabajo1, tel_trabajo1, puesto1, sueldo1, f_ini2, f_fin2, compania2, dom_trabajo2, tel_trabajo2, puesto2, sueldo2, estudio, escuela, poblacion_estado, del, al,  ingles, espanol, aptitudes, nombre1, dom1, tel_ref1, ocupacion1, anios_conocerlo1, nombre2, dom2, tel_ref2, ocupacion2, anios_conocerlo2, casoemergencia, fecha_reg) 
values 
('$paterno', '$materno', '$nombre',  '$calle', '$colonia', '$postal', '$poblacion', '$telefono', '$foto', '$religion', '$licmanejo', '$carmilitar', '$rfc', '$imss', '$nacionalidad', '$estatura', '$sexo', '$peso', '$edad', '$edocivil', '$nomconyu, '$vivecon', '$vivedom', '$cuan_depend', '$puesto_des', '$hijos', '$nom_pa', '$nom_ma', '$fechanac', '$f_ini1', '$f_fin1', '$compania1', '$dom_trabajo1', '$tel_trabajo1', '$puesto1', '$sueldo1', '$f_ini2', '$f_fin2', '$compania2', '$dom_trabajo2', '$tel_trabajo2', '$puesto2', '$sueldo2', '$estudio', '$escuela', '$poblacion_estado', '$del', '$al', '$ingles', '$espanol', '$aptitudes', '$nombre1', '$domref1', '$telref1', '$ocupacionref1', '$aniosref1', '$nombre2', '$domref2', '$telref2', '$ocupacionref2', '$aniosref2', '$casoemergencia', '$fech_reg')"
,$conex))
{
    
header ("Location: registro.php?guardado=si");
}
else
{
    
header ("Location: registro.php?error_registro=si");
}
mysql_close($conex);
?>
todo esto no me guarda nada....solo me manda esto a la barra de direcciones..

http://localhost/proyecto/registro.php?error_registro=si
pero no obtengo ningun registro...

en q estoy mal??...ya verifique q estubieran bien escritos los nombres de cada elemento del formulario...y de la BD...


Tengo unos campos para fecha, q solo quiero guardar el año y el mes...(f_ini1, f_fin1) como le hago???
como??
  #8 (permalink)  
Antiguo 01/07/2008, 13:38
 
Fecha de Ingreso: julio-2008
Mensajes: 3
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: uso de multiples querys...se puede??

Hola que tal,
dejame ver, segun lo que yo veo que es ahora no almacena nada, seria bueno que revisaras si las fechas estan en el formato correcto segun como lo tienes en la tabla, tambien seria bueno agregar, tambien seria muy bueno que revisaras los campos son de tipo numero no llevan '' los que son de tipo caracter si, asi tambien las fechas, quizas algo asi te puede estar dando problemas, en todo caso si continua tu problema, me envias un Mensaje Privado y te puedo dar mi correo con mas detalles de que puedes hacer,
saludos,
NeoRent.
  #9 (permalink)  
Antiguo 01/07/2008, 13:54
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Respuesta: uso de multiples querys...se puede??

Tres consejos:

1.
Cita:
en q estoy mal??...ya verifique q estubieran bien escritos los nombres de cada elemento del formulario...y de la BD...
en lugar de utilizar header ("Location: registro.php?error_registro=si"); puedes usar:
echo mysql_error() y te mostrará el error que se produce al hacer la consulta.

2.
Cita:
Tengo unos campos para fecha, q solo quiero guardar el año y el mes...(f_ini1, f_fin1) como le hago???
Estos campos deben ser DATE en la base de datos, o si quieres DATETIME (se guardará también la hora), y debes ingresarlos en formato Y-m-d H:i:s

3.
Recoges los campos del formulario con $_POST y automáticamente los insertas. Deberías poner un paso intermedio entre estos dos, ya que el usuario podría poner cualquier cosa en el formulario que podría afectar a la seguridad de tu sitio. Por ejemplo, el usuario podria poner comillas simples (' ') y la consulta a la DB se haría un lío con las comillas.

Puedes usar funciones como htmlentities() así:

$variable = htmlentities($_POST['variable']);


Suerte
  #10 (permalink)  
Antiguo 01/07/2008, 15:16
 
Fecha de Ingreso: abril-2008
Mensajes: 9
Antigüedad: 16 años
Puntos: 0
Respuesta: uso de multiples querys...se puede??

Hola!..gracias por tu correcciones!!

y por tomarte el tiempo de responder...

me sirvieron!! :)

salu2!!
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 06:31.