• Domingo 22 de Diciembre de 2024, 14:32

Autor Tema:  Grabar En Dos Tablas A La Ves  (Leído 1761 veces)

neorent

  • Miembro MUY activo
  • ***
  • Mensajes: 249
    • Ver Perfil
    • http://www.laestokada.cl
Grabar En Dos Tablas A La Ves
« en: Martes 26 de Septiembre de 2006, 19:40 »
0
que tal amigos tengo la siguiente duda, tengo una pagina donde recivo los valores y resulta que los almaceno en una tabla y la variables donde quedaron esos valores los utilizo para hacer distintas consultas con las cuales despues sume y resto y todo eso pero no puedo almacenar esos valores en la tabla numero dos, bueno les dejos el code y me cuentan donde como siempre tengo el problema gracias amigos.
Código: Text
  1.  
  2. <?php
  3. include("conex.php");                          
  4. include("myfunc.php");
  5. $link=Conectarse();            
  6. $i_nombre=$_GET['nombre'];              
  7. $i_area=$_GET['area'];                      
  8. $i_direcc=$_GET['direccion'];                      
  9. $i_unidad=$_GET['unidad'];                
  10. $i_edificio=$_GET['edificio'];                      
  11. $i_piso=$_GET['piso'];                      
  12. $i_correo=$_GET['correo'];                      
  13. $i_fono=$_GET['fono'];                      
  14. $i_requerimiento=$_GET['requerimiento'];                
  15. $i_fecha=cambiaf_a_mysql($_GET['fecha']);                
  16. $i_hora=$_GET['hora'];
  17. //aqui hago la primera insercion en la tabla////
  18.  
  19. mysql_query("insert into tbl_maestra (nombre_usuario,area_usuario,direccion_usuario,depto_usuario,edificio,piso,correo_usuario,fono_anexo,tipo_requerimiento,fecha_solicitud,hora_solicitud) values ('$i_nombre','$i_area','$i_direcc','$i_unidad','$i_edificio','$i_piso','$i_correo','$i_fono','$i_requerimiento','$i_fecha','$i_hora')",$link);  
  20. $ultimo_id = mysql_insert_id($link);
  21. ?>
  22.  
  23. <?php
  24. /// aqui un par de consulta que tomo de las variables///
  25. $link = mysql_connect("localhost", "root", "");
  26. mysql_select_db("db_soporte", $link);
  27. $sql = "SELECT * FROM tbl_edificio WHERE (des_edificio = '$i_edificio')";
  28. $result = mysql_query($sql, $link);
  29. $myrow = mysql_fetch_array($result);
  30. $hora1=$myrow["tiempo"];
  31. $hora2=$myrow["tiempo"];
  32.  
  33. //AQUi un par de consultas mas
  34.  
  35. $sql = "SELECT * FROM tbl_fallas WHERE (desc_falla = '$i_requerimiento')";
  36. $result = mysql_query($sql, $link);
  37. $myrow = mysql_fetch_array($result);
  38. $hora3=$myrow["t_trabajo"];
  39.  
  40. ///AQUI sumo///
  41.  
  42. $horades1=explode(':', $hora1);                      
  43. $horades2=explode(':', $hora2);                      
  44. $horades3=explode(':', $hora3);                      
  45. $finalh=$horades1[0] + $horades2[0] + $horades3[0];            
  46. $finalm=$horades1[1] + $horades2[1] + $horades3[1];            
  47. $finals=$horades1[2] + $horades2[2] + $horades3[2];            
  48. if ($finals>59){                          
  49. $finals=$finals - 60;                          
  50. $finalm=$finalm + 1;
  51. }                                
  52. if ($finalm>59){
  53. $finalm=$finalm - 60;
  54. $finalh=$finalh + 1;
  55. }
  56. if (strlen($finalh)==1){                        
  57. $finalh= "0".$finalh;                        
  58. }                                
  59. if (strlen($finalm)==1){                      
  60. $finalm= "0".$finalm;                          
  61. }                                
  62. if (strlen($finals)==1){                        
  63. $finals= "0".$finals;                        
  64. }                                
  65. $final_horas = $finalh.":".$finalm.":".$finals;
  66.  
  67. /// y bueno aqui quiero hacer la segunda insercion pero no me almacena nada en la tabla////
  68.  
  69. mysql_query("insert into tbl_temporal (folio,id_unidad,id_edificio,t_trabajo,total_trabajo) values ('$ultimo_id','$i_unidad','$hora1,'$hora3','$final_horas')",$link);
  70.  
  71. ?>
  72.  
  73.  
y eso amigo espero me ayuden o me digan que debo hacer o que esta mal gracias adios
Un Tigre Nunka Kambia Sus Rayas

Altareum

  • Miembro MUY activo
  • ***
  • Mensajes: 327
    • Ver Perfil
    • http://www.avian.com.ar
Re: Grabar En Dos Tablas A La Ves
« Respuesta #1 en: Miércoles 27 de Septiembre de 2006, 02:57 »
0
Primer punto.. mysql no te está dando ningún error ???.. digo porque me parece raro que estés metiendo un dato de hora, en uno que al parecer nombraste como id (no se de que tipo son por lo cual puede que esté bien lo que haces).

Intentas introducir $hora1 en id_edificio, aparte de que te falta una comilla simple luego de $hora1. Intenta hacer un echo de la consulta y tirarla directamente en mysql a ver si te da algún error.....


Altareum.
El postre!, el postre!, el postre!, el postre!, el postre!, el postre!.....
 | Klinka | Kiree | Avian |

neorent

  • Miembro MUY activo
  • ***
  • Mensajes: 249
    • Ver Perfil
    • http://www.laestokada.cl
Re: Grabar En Dos Tablas A La Ves
« Respuesta #2 en: Miércoles 27 de Septiembre de 2006, 19:33 »
0
Cita de: "Altareum"
Primer punto.. mysql no te está dando ningún error ???.. digo porque me parece raro que estés metiendo un dato de hora, en uno que al parecer nombraste como id (no se de que tipo son por lo cual puede que esté bien lo que haces).

Intentas introducir $hora1 en id_edificio, aparte de que te falta una comilla simple luego de $hora1. Intenta hacer un echo de la consulta y tirarla directamente en mysql a ver si te da algún error.....


Altareum.
Altareum, amigo tienes toda la razon  :P  jejeje si eso era una consulata mas para todos l@s chik@s del foro, si yo tengo una funcion donde le paso una variable donde el valor de esta es un time y segun la cosulta retorno un valor por ej. de tipo caracter no deveria darme problemas correcto?,
ej.
esta es la funcion creada por mi.
donde $i_direcc es de tipo caracter con valor "casa".
Código: Text
  1.  
  2. <?php
  3. ///Aqui otra consulta pero por el id de la direccion///
  4. function rescato_id_direccion($i_direcc){
  5. $link = mysql_connect("localhost", "root", "");
  6. mysql_select_db("db_soporte", $link);
  7. $sql = "SELECT * FROM tbl_direcciones WHERE (des_direccion = '$i_direcc')";
  8. $result = mysql_query($sql, $link);
  9. $myrow = mysql_fetch_array($result);
  10. $id_direccion=$myrow["id_direccion"];
  11. return $id_direccion;
  12. }
  13. ?>
  14.  
  15.  
y me esta devolviendo una variable con valor numerico no deberia habler problema correcto.

Código: Text
  1.  
  2. <?php
  3. $i_direcc=$_GET['direccion'];
  4. $variable=rescato_id_direccion($i_direcc);
  5. ?>
  6.  
  7.  

gracias por la respuestas que vengan
Un Tigre Nunka Kambia Sus Rayas

Altareum

  • Miembro MUY activo
  • ***
  • Mensajes: 327
    • Ver Perfil
    • http://www.avian.com.ar
Re: Grabar En Dos Tablas A La Ves
« Respuesta #3 en: Jueves 28 de Septiembre de 2006, 14:57 »
0
?????????????????

Disculpame, pero en tu último post no entendí nada... siento que le faltan algunas comas (,) y signos de pregunta (?) a tus oraciones, y algunas cosas más...

No se que estás intentando hacer, pero si en una tabla, por ejemplo, declaras un campo de tipo int (número entero) jamás podrás poner un dato que no sea numérico... jamás...

Pero sí en cambio, en algunos casos se pueden convertir los tipos, como pasar un time a tipo varchar...

Te recomiendo que busques información sobre los tipos de datos de Mysql.

Altareum.
El postre!, el postre!, el postre!, el postre!, el postre!, el postre!.....
 | Klinka | Kiree | Avian |

neorent

  • Miembro MUY activo
  • ***
  • Mensajes: 249
    • Ver Perfil
    • http://www.laestokada.cl
Re: Grabar En Dos Tablas A La Ves
« Respuesta #4 en: Jueves 28 de Septiembre de 2006, 16:02 »
0
Cita de: "Altareum"
?????????????????

Disculpame, pero en tu último post no entendí nada... siento que le faltan algunas comas (,) y signos de pregunta (?) a tus oraciones, y algunas cosas más...

No se que estás intentando hacer, pero si en una tabla, por ejemplo, declaras un campo de tipo int (número entero) jamás podrás poner un dato que no sea numérico... jamás...

Pero sí en cambio, en algunos casos se pueden convertir los tipos, como pasar un time a tipo varchar...

Te recomiendo que busques información sobre los tipos de datos de Mysql.

Altareum.
claro tienes toda la razon no me explique, bueno paso a comentarte, ¿puedo realizar una funcion donde recibas un valor de tipo varchar y en la funcion hacer una consulta y retornar un valor de tipo entero, segun el resultado de la consulta? ejemplo:

aqui es donde hago la consulta.

Código: Text
  1.  
  2. <?php
  3. function rescato_id_direccion($i_direcc){
  4. $link = mysql_connect("localhost", "root", "");
  5. mysql_select_db("db_soporte", $link);
  6. $sql = "SELECT * FROM tbl_direcciones WHERE (des_direccion = '$i_direcc')";
  7. $result = mysql_query($sql, $link);
  8. $myrow = mysql_fetch_array($result);
  9. $id_direccion=$myrow["id_direccion"];
  10. return $id_direccion;
  11. }
  12. ?>
  13.  
  14.  

y se supone que aqui la solicito mira
Código: Text
  1.  
  2. <?php
  3. include (funcion.php);
  4. $i_direcc="casa";
  5. $variable=rescato_id_direccion($i_direcc);
  6. echo "el Numero del id es $variable \n";
  7. ?>
  8.  
  9.  
entonces deberia mostra en este caso una variable con valor int la cual yo puedo insertar en mi tabla en el campo que tiene ese mismo tipo correcto?,
esa era mi duda gracias
Un Tigre Nunka Kambia Sus Rayas

Altareum

  • Miembro MUY activo
  • ***
  • Mensajes: 327
    • Ver Perfil
    • http://www.avian.com.ar
Re: Grabar En Dos Tablas A La Ves
« Respuesta #5 en: Jueves 28 de Septiembre de 2006, 17:08 »
0
aaaaaaaaaaaaah jajja... si... Igualmente creo que mezclaste algunos conceptos. Que mysql te devuelva un campo del tipo Int, no significa que php lo tome como tal.  Php convierte automáticamente el dato a los formatos soportados por él, por ejemplo si tomas un campo del tipo date (dd/mm/yyyy) lo tomará como una cadena ya que php no soporta variables de tipo fecha.

Y respecto a tu pregunta, si puedes hacer que una función devuelva un tipo de dato distinto al que le pasas como parámetro.

Altareum.
El postre!, el postre!, el postre!, el postre!, el postre!, el postre!.....
 | Klinka | Kiree | Avian |