Foros del Web » Programando para Internet » PHP »

como puedo hacer insert a dos tablas diferentes

Estas en el tema de como puedo hacer insert a dos tablas diferentes en el foro de PHP en Foros del Web. o falta codigo o tienes una } de mas??...

  #31 (permalink)  
Antiguo 11/11/2009, 08:04
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: como puedo hacer insert a dos tablas diferentes

o falta codigo o tienes una } de mas??
  #32 (permalink)  
Antiguo 11/11/2009, 08:05
 
Fecha de Ingreso: enero-2009
Mensajes: 197
Antigüedad: 15 años, 3 meses
Puntos: 0
Información Respuesta: como puedo hacer insert a dos tablas diferentes

Este es el codigo en el editor
Código php:
Ver original
  1. if ($_POST['sala'] == "Gerencia")
  2.        {
  3.         echo 'verdadero';
  4.         }
  5.          else
  6.              {    
  7.              echo 'Falso';
  8.              }
  9.              
  10.         $sql = "insert into neiva(fecha,horaini,horafin,sala,videobeam ,responsable,evento) values('$fecha','$horaini','$horafin','$sala', '$vbeam','$responsable','$evento'); insert into bogota(fecha,horaini,horafin,sala,videobea m,responsable,evento) values('$fecha','$horaini','$horafin','Sala Grande(14P)--1701','$vbeam','$responsable','$evento')";
  11.  
  12. $res = mysql_query($sql,$conexion);
  13.  
  14.       }
  15.       else
  16.       {
  17.        $res = false;
  18.       }
  19.    
  20.     if($res)
  21.        {
  22.         echo "Evento grabado";
  23.         redireccionar('3','mostrar.php');
  24.        }
  25.        else
  26.        {
  27.         echo "Error al grabar evento";
  28.        }
  29.     desconectar($conexion);
  30. } [COLOR="Red"][B]//linea 45[/B][/COLOR]
  31.  else
  32. {
  33. ?>
  #33 (permalink)  
Antiguo 11/11/2009, 08:09
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: como puedo hacer insert a dos tablas diferentes

yo opino q tienes esto de mas, si es todo e codigo

Código php:
Ver original
  1. #
  2. if ($_POST['sala'] == "Gerencia")
  3. #
  4.       {
  5. #
  6.        echo 'verdadero';
  7. #
  8.        }
  9. #
  10.         else
  11. #
  12.             {    
  13. #
  14.             echo 'Falso';
  15. #
  16.             }
  17. #
  18.            
  19. #
  20.        $sql = "insert into neiva(fecha,horaini,horafin,sala,videobeam ,responsable,evento) values('$fecha','$horaini','$horafin','$sala', '$vbeam','$responsable','$evento'); insert into bogota(fecha,horaini,horafin,sala,videobea m,responsable,evento) values('$fecha','$horaini','$horafin','Sala Grande(14P)--1701','$vbeam','$responsable','$evento')";
  21. #
  22.  
  23. #
  24. $res = mysql_query($sql,$conexion);
  25. #
  26.  
  27. #
  28. [COLOR="Red"]/*aki es donde me queda la duda q vaya esta llave   */  }[/COLOR]
  29. #
  30.      else
  31. #
  32.      {
  33. #
  34.       $res = false;
  35. #
  36.      }
  37. #
  38.  
  39. #
  40.    if($res)
  41. #
  42.       {
  43. #
  44.        echo "Evento grabado";
  45. #
  46.        redireccionar('3','mostrar.php');
  47. #
  48.       }
  49. #
  50.       else
  51. #
  52.       {
  53. #
  54.        echo "Error al grabar evento";
  55. #
  56.       }
  57. #
  58.    desconectar($conexion);
  59. #
  60. } [COLOR="Red"][B]//linea 45[/B][/COLOR]
  61. #
  62. else
  63. #
  64. {
  65. #
  66. ?>
  #34 (permalink)  
Antiguo 11/11/2009, 08:10
 
Fecha de Ingreso: enero-2009
Mensajes: 197
Antigüedad: 15 años, 3 meses
Puntos: 0
Información Respuesta: como puedo hacer insert a dos tablas diferentes

Este es el código completo:

Código php:
Ver original
  1. /
  2. <html>
  3. <link href="estilo.css" rel="stylesheet" type="text/css">
  4. <?php
  5. include_once("funciones.php");
  6. $fecha = $_POST['fecha'];
  7. $horaini = $_POST['horaini'];
  8. $horafin = $_POST['horafin'];
  9. $sala = $_POST['sala'];
  10. $vbeam = $_POST['vbeam'];
  11. $responsable = $_POST['responsable'];
  12. $evento = $_POST['evento'];
  13. if($fecha != "" && $horaini != "" && $horafin != "" && $sala != "" && $responsable != "" && $evento != "")
  14.     {
  15.     $conexion = conectar();
  16.     $vbeam = isset($_POST['vbeam'])? 1: 0; // estado del check, envia 1 si necesita o 0 si no
  17.     if ($_POST['sala'] == "Gerencia")
  18.        {
  19.         echo 'verdadero';
  20.         }
  21.          else
  22.              {    
  23.              echo 'Falso';
  24.              }
  25.              
  26.         $sql = "insert into neiva(fecha,horaini,horafin,sala,videobeam ,responsable,evento) values('$fecha','$horaini','$horafin','$sala', '$vbeam','$responsable','$evento'); insert into bogota(fecha,horaini,horafin,sala,videobea m,responsable,evento) values('$fecha','$horaini','$horafin','Sala Grande(14P)--1701','$vbeam','$responsable','$evento')";
  27.  
  28. $res = mysql_query($sql,$conexion);
  29.  
  30.       }
  31.       else
  32.       {
  33.        $res = false;
  34.       }
  35.    
  36.     if($res)
  37.        {
  38.         echo "Evento grabado";
  39.         redireccionar('3','mostrar.php');
  40.        }
  41.        else
  42.        {
  43.         echo "Error al grabar evento";
  44.        }
  45.     desconectar($conexion);
  46. }
  47.  else
  48. {
  49. ?>
  50.  
  51. <style type="text/css">
  52. <!--
  53. .Estilo20 { font-size: 9px;
  54.     font-weight: bold;
  55. }
  56. .Estilo21 {
  57.     color: #CC0000;
  58.     font-weight: bold;
  59.     font-style: italic;
  60. }
  61. -->
  62. </style>
  63. <form action="agregar.php" method="post" name="f1">
  64. <table border=0 cellspacing="0">
  65. <tr><td colspan="2"><span class="Estilo21">[AGREGAR EVENTO]</span></td></tr>
  66. <tr><td>Fecha</td><td><input type="text" name="fecha" value="<?php echo date('Y-m-d'); ?>" />
  67. Por favor respete el formato   </td>
  68. </tr>
  69. <tr><td valign="TOP"><div align="left">
  70.   <p>Hora Inicio </p>
  71.   <p>Hora Final </p>
  72. </div></td><td><p>
  73.   <input name="horaini" type="text" value="HH:MM:SS" />
  74. </p>
  75.   <p>
  76.     <input name="horafin" type="text" value="HH:MM:SS" />
  77. </p></td></tr>
  78. <tr><td align="center"><div align="left">Sala</div></td>
  79.   <td align="center"><div align="left"><span class="Estilo20">
  80.     <select name="sala">
  81.       <option>--Seleccione--</option>
  82.       <option value="Contabilidad">Contabilidad</option>
  83.       <option value="Recursos Humanos">Recursos Humanos</option>
  84.       <option value="Auditorio">Auditorio</option>
  85.       <option value="Gerencia">Gerencia</option>
  86.       <option value="Ninguna">Ninguna</option>
  87.     </select>
  88.   </span></div></td>
  89. </tr>
  90. <tr>
  91.   <td align="center"><div align="left">Video Beam
  92.     </div></td>
  93.   <td align="center"><div align="left">
  94.     <input type="checkbox" name="vbeam" value="vbeam">
  95.   </div></td>
  96. </tr>
  97. <tr>
  98.   <td align="center"><div align="left">Responsable
  99.     </div></td>
  100.   <td align="center"><div align="left">
  101.     <input name="responsable" type="text" size="40" maxlength="40" />
  102.   </div></td>
  103. </tr>
  104. <tr>
  105.   <td align="center">Observaciones</td>
  106.   <td align="center"><div align="left">
  107.     <textarea rows="5" cols="20" name="evento"></textarea>
  108.   </div></td>
  109. </tr>
  110. <tr>
  111.   <td colspan="2" align="center"><input name="submit" type="submit" value="Enviar" /></td>
  112. </tr>
  113. </table>
  114. </form>
  115.  
  116. <?
  117. }
  118. ?>
  119. </html>
  #35 (permalink)  
Antiguo 11/11/2009, 08:11
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: como puedo hacer insert a dos tablas diferentes

para mi tienes unallave de mas en la linea 46
  #36 (permalink)  
Antiguo 11/11/2009, 08:13
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: como puedo hacer insert a dos tablas diferentes

o en la linea 30 o 46,perotienes una llave de mas,checalo
  #37 (permalink)  
Antiguo 11/11/2009, 08:14
 
Fecha de Ingreso: enero-2009
Mensajes: 197
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: como puedo hacer insert a dos tablas diferentes

Listo ya quite la llave que me dijiste dcreate pero ahora sale el siguiente error:

Parse error: parse error, unexpected T_ELSE in C:\AppServ\www\reservas_salasmasa\calendario\agreg ar.php on line 47
  #38 (permalink)  
Antiguo 11/11/2009, 08:23
 
Fecha de Ingreso: enero-2009
Mensajes: 197
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: como puedo hacer insert a dos tablas diferentes

Ya revise super bien, y todo esta bien, no me estan sobrando...
  #39 (permalink)  
Antiguo 11/11/2009, 08:25
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: como puedo hacer insert a dos tablas diferentes

Esta vez no están sobrando llaves, pero sí tienes un else demás.

Como te sugerí. Lo más convenientes es que limpies el código, haz primero las comprobaciones una a una para ver cuál falla, para después intentar hacer la inserción en la base de datos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #40 (permalink)  
Antiguo 11/11/2009, 08:37
 
Fecha de Ingreso: enero-2009
Mensajes: 197
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: como puedo hacer insert a dos tablas diferentes

Imprime verdadero
  #41 (permalink)  
Antiguo 11/11/2009, 08:39
 
Fecha de Ingreso: enero-2009
Mensajes: 197
Antigüedad: 15 años, 3 meses
Puntos: 0
Información Respuesta: como puedo hacer insert a dos tablas diferentes

este es el insert:

Código PHP:
 $sql "insert into neiva(fecha,horaini,horafin,sala,videobeam ,responsable,evento) values('$fecha','$horaini','$horafin','$sala', '$vbeam','$responsable','$evento'); insert into bogota(fecha,horaini,horafin,sala,videobea m,responsable,evento) values('$fecha','$horaini','$horafin','Sala Grande(14P)--1701','$vbeam','$responsable','$evento')"
  #42 (permalink)  
Antiguo 11/11/2009, 08:43
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: como puedo hacer insert a dos tablas diferentes

Ahora imprime también el valor de $sql. Por cierto, no puedes hacer los dos INSERT en la misma query.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #43 (permalink)  
Antiguo 11/11/2009, 08:52
Avatar de richicasas  
Fecha de Ingreso: abril-2007
Ubicación: Colombia
Mensajes: 692
Antigüedad: 17 años, 1 mes
Puntos: 13
Respuesta: como puedo hacer insert a dos tablas diferentes

Yo cuando hago INSERT no especifico las columnas, me parece que es algo innecesario. Puedes hacer lo siguiente:
Código PHP:
$sql "insert into neiva values('$fecha','$horaini','$horafin','$sala', '$vbeam','$responsable','$evento')";

$sql2 " insert into bogota values('$fecha','$horaini','$horafin','Sala Grande(14P)--1701','$vbeam','$responsable','$evento')";  

echo 
$sql."<br>" ;
echo 
$sql2
Eso arrojaria el codigo de la consulta, en caso de que te muestre el codigo y sigas con error, copia todo el codigo que te salga de $sql, entras a phpmyadmin o al administrador de BD que tengas y en la parte de SQL pegas el codigo haber que error te arroja.
__________________
Juguetes Sexuales
  #44 (permalink)  
Antiguo 11/11/2009, 08:52
 
Fecha de Ingreso: enero-2009
Mensajes: 197
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: como puedo hacer insert a dos tablas diferentes

Ok listo, ya me inserta cuando es igual a gerencia pero cuando es diferente me sale el mensaje "Error al grabar evento"
  #45 (permalink)  
Antiguo 11/11/2009, 08:55
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: como puedo hacer insert a dos tablas diferentes

Y eso es normal, ya que pones una condición para que así sea (if ($_POST['sala'] == 'Gerencia')), si no quieres que ese sea el comportamiento quita esa condición.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #46 (permalink)  
Antiguo 11/11/2009, 09:19
 
Fecha de Ingreso: enero-2009
Mensajes: 197
Antigüedad: 15 años, 3 meses
Puntos: 0
Información Respuesta: como puedo hacer insert a dos tablas diferentes

Muchas gracias ahora si guarda sin ninun problema.... estoy revisando otras cosas, les estare concultan, de nuevo muchas gracias...
  #47 (permalink)  
Antiguo 11/11/2009, 09:22
 
Fecha de Ingreso: enero-2009
Mensajes: 197
Antigüedad: 15 años, 3 meses
Puntos: 0
Información Respuesta: como puedo hacer insert a dos tablas diferentes

Ya cambie el codigo un poco:

Código PHP:
if ($_POST['sala'] == "Gerencia")
       {
        
$sql "insert into neiva(fecha,horaini,horafin,sala,videobeam,responsable,evento) values('$fecha','$horaini','$horafin','$sala', '$vbeam','$responsable','$evento')"
        
$sql2="insert into bogota(fecha,horaini,horafin,sala,videobeam,responsable,evento) values('$fecha','$horaini','$horafin','Sala Grande(14P)--1701','$vbeam','$responsable','$evento')"
      
$res mysql_query($sql,$conexion); 
      }
      else
         { 
          
$res false
         }
         if(
$res)
            {
             echo 
"Evento grabado";
             
redireccionar('3','mostrar.php');
            }
         else
            {
            
$sql "insert into neiva(fecha,horaini,horafin,sala,videobeam,responsable,evento) values('$fecha','$horaini','$horafin','$sala', '$vbeam','$responsable','$evento')"
            echo 
"Evento grabado";
            
redireccionar('3','mostrar.php');
            }
            
desconectar($conexion);

Ahora hay un inconveniente cuando es diferente de Gerencia, me dice que evento grabado pero no me lo graba.
  #48 (permalink)  
Antiguo 11/11/2009, 09:25
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: como puedo hacer insert a dos tablas diferentes

Es que en ninguna de estas línea estás ejecutando mysql_query()
Código PHP:
Ver original
  1. $sql = "insert into neiva(fecha,horaini,horafin,sala,videobeam,responsable,evento) values('$fecha','$horaini','$horafin','$sala', '$vbeam','$responsable','$evento')";
  2.             echo "Evento grabado";
  3.             redireccionar('3','mostrar.php');
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #49 (permalink)  
Antiguo 11/11/2009, 11:20
 
Fecha de Ingreso: septiembre-2009
Mensajes: 124
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: como puedo hacer insert a dos tablas diferentes

El error te lo esta tirando por esta parte:

[HIGLIGHT="php"]
/*echo 'verdadero';
}
else
{
echo 'Falso';
}*/
[/HIGHLIGHT]

Estas comentando el cierre del else, que a su vez estas comentando el cierre del if.
Lo que tendrias que hacer, es copiar el codigo actual del archivo a otro, elminar todo el codigo de la pagina y empezar minimamente buscando con validaciones como las que te paso david. Y de ahi podriamos ver cual es el problema.
Se que es algo engorroso, pero bueno, cuando se encuentran problemas de este tipo, que no sabes donde esta, es necesario comenzar a rehacer las cosas.

Saludos!
  #50 (permalink)  
Antiguo 11/11/2009, 11:21
 
Fecha de Ingreso: septiembre-2009
Mensajes: 124
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: como puedo hacer insert a dos tablas diferentes

Me comi una "h" en HIGHLIGHT, jeje, mil disculpas.
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 08:25.