Foros del Web » Programando para Internet » PHP »

Consulta SQL

Estas en el tema de Consulta SQL en el foro de PHP en Foros del Web. Hola Saludos a Todos... Primero que todos les cuento que soy nuevo en esto de php, y mi problema es el siguiente: Estoy realizando una ...
  #1 (permalink)  
Antiguo 12/04/2009, 08:14
 
Fecha de Ingreso: abril-2009
Mensajes: 3
Antigüedad: 15 años, 7 meses
Puntos: 0
Consulta SQL

Hola Saludos a Todos...

Primero que todos les cuento que soy nuevo en esto de php, y mi problema es el siguiente:

Estoy realizando una pagina php para el registro de reportes de personal que trabaja en mi empresa pero estos estan ubicados en varias instalaciones. en la base de datos hay tres tablas. Una tblempleado donde estan los datos de los empleados, otra tblcentrales donde estan los datos de la instalacion donde trabajan y la otra tblreporte donde se guardara el ID del empleado y el ID de la central donde trabaja ademas de la hora y feha que llegan a trabajar.

Lo que hago es primero solicitar en una pagina el ID del empleado y de la central, para luego enviar estos datos por metodo POST a otra, para asi mostrar detalladamente los datos del empleado y la central. hasta aqui todo va bien.

El problema esta en que yo quiero que los datos se almacenen en la base de datos cuando haga click en el boton guardar (ver codigo), cosa que no hace ya que los datos se registran al mostar la pagina. por favor ayudenmeeeeee.


Código PHP:
  <input name="cmdguardar" type="submit" value="Guardar" onclick="                    
      <?php 
        date_default_timezone_set
("America/Caracas");
        
$idempleado=$row_Recordset1['id'];
        
$centraleporte=$row_Recordset2['id'];
        
$fechareporteDate('d/m/y');
        
$horareporteDate('H:i:s');
        
$turnoreporte$_POST['radiobutton'];
        
mysql_select_db($database_conex$conex);
        
mysql_query("insert into tblreportes (id,central,fecha,hora,turno) values ('$idempleado','$centraleporte','$fechareporte','$horareporte','$turnoreporte')");
?> "/>

Última edición por daniel_bego; 12/04/2009 a las 11:37
  #2 (permalink)  
Antiguo 12/04/2009, 10:09
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: Consulta SQL

Código PHP:
onclick="                     
      <?php  
        date_default_timezone_set
("America/Caracas"); 
        
$idempleado=$row_Recordset1['id']; 
        
$centraleporte=$row_Recordset2['id']; 
        
$fechareporteDate('d/m/y'); 
        
$horareporteDate('H:i:s'); 
        
$turnoreporte$_POST['radiobutton']; 
        
mysql_select_db($database_conex$conex); 
        
mysql_query("insert into tblreportes (id,central,fecha,hora,turno) values ('$idempleado','$centraleporte','$fechareporte','$horareporte','$turnoreporte')"); 
?> "
Simplemente no puedes hacer eso, PHP es un lenguaje de servidor y necesita enviarle un request al servidor para que este se procese.
Tienes que hacerlo:
1. Con AJAX
2. Haciendo un submit del formulario y que el destino ejecute el codigo PHP.
  #3 (permalink)  
Antiguo 12/04/2009, 10:10
Avatar de duskrow  
Fecha de Ingreso: abril-2008
Mensajes: 267
Antigüedad: 16 años, 7 meses
Puntos: 8
Respuesta: Consulta SQL

<input name="cmdguardar" id="cmdguardar" type="button" value="Guardar" "/>



Cita:
<?php

if( isset($_REQUEST['cmdguardar']) and ! empty($_REQUEST['cmdguardar']) ) {


date_default_timezone_set("America/Caracas");
$idempleado=$row_Recordset1['id'];
$centraleporte=$row_Recordset2['id'];
$fechareporte= Date('d/m/y');
$horareporte= Date('H:i:s');
$turnoreporte= $_POST['radiobutton'];
mysql_select_db($database_conex, $conex);
mysql_query("insert into tblreportes (id,central,fecha,hora,turno) values ('$idempleado','$centraleporte','$fechareporte','$ horareporte','$turnoreporte')");


}

?>
  #4 (permalink)  
Antiguo 12/04/2009, 11:36
 
Fecha de Ingreso: abril-2009
Mensajes: 3
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Consulta SQL

Cita:
Iniciado por Ronruby Ver Mensaje
Código PHP:
onclick="                     
      <?php  
        date_default_timezone_set
("America/Caracas"); 
        
$idempleado=$row_Recordset1['id']; 
        
$centraleporte=$row_Recordset2['id']; 
        
$fechareporteDate('d/m/y'); 
        
$horareporteDate('H:i:s'); 
        
$turnoreporte$_POST['radiobutton']; 
        
mysql_select_db($database_conex$conex); 
        
mysql_query("insert into tblreportes (id,central,fecha,hora,turno) values ('$idempleado','$centraleporte','$fechareporte','$horareporte','$turnoreporte')"); 
?> "
Simplemente no puedes hacer eso, PHP es un lenguaje de servidor y necesita enviarle un request al servidor para que este se procese.
Tienes que hacerlo:
1. Con AJAX
2. Haciendo un submit del formulario y que el destino ejecute el codigo PHP.
gracias por tu opinion, pero mi boton es submit lo coloque mal en la redaccion. mi problema es que yo pongo el codigo para que se ejecute cuando haga click en el boton, pero este codigo se ejecuta cuando se carga la pagina.
  #5 (permalink)  
Antiguo 12/04/2009, 12:34
 
Fecha de Ingreso: abril-2009
Mensajes: 3
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Consulta SQL

Cita:
Iniciado por duskrow Ver Mensaje
<input name="cmdguardar" id="cmdguardar" type="button" value="Guardar" "/>
ya lo probe y no me sirve....... gracias de todas maneras...
  #6 (permalink)  
Antiguo 12/04/2009, 12:38
Avatar de duskrow  
Fecha de Ingreso: abril-2008
Mensajes: 267
Antigüedad: 16 años, 7 meses
Puntos: 8
Respuesta: Consulta SQL

osea, mira, onclick , no puedes poner codigo php dentro de el


creo que lo que quieres acer es k al presionar onlick valla a una funcion i esa funcion inserte los datos en la db sin actualizar la pagina si es asi ,, te recomiendo k uses ajax, t recomiendo el framerwrok jquery i k utilises el metodo $.ajax()


SALUDOS
  #7 (permalink)  
Antiguo 12/04/2009, 13:06
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: Consulta SQL

Cita:
gracias por tu opinion, pero mi boton es submit lo coloque mal en la redaccion. mi problema es que yo pongo el codigo para que se ejecute cuando haga click en el boton, pero este codigo se ejecuta cuando se carga la pagina.
Cita:
Simplemente no puedes hacer eso, PHP es un lenguaje de servidor y necesita enviarle un request al servidor para que este se procese.
Tienes que hacerlo:
1. Con AJAX
2. Haciendo un submit del formulario y que el destino ejecute el codigo PHP.
No importa si el boton es submit, button, image, lo que sea. PHP no se puede ejecutar en el CLIENTE, necesitas hacer un request al servidor para que este se ejecute.
Tendras que en el DESTINO del formulario, apuntar a un script PHP con ese codigo que expusiste o usar AJAX.
  #8 (permalink)  
Antiguo 12/04/2009, 13:09
Avatar de duskrow  
Fecha de Ingreso: abril-2008
Mensajes: 267
Antigüedad: 16 años, 7 meses
Puntos: 8
Respuesta: Consulta SQL

Cita:
Iniciado por Ronruby Ver Mensaje
No importa si el boton es submit, button, image, lo que sea. PHP no se puede ejecutar en el CLIENTE, necesitas hacer un request al servidor para que este se ejecute.
Tendras que en el DESTINO del formulario, apuntar a un script PHP con ese codigo que expusiste o usar AJAX.
exacto, es eso , como dije, puedo acerlo tambien con ajax, pasando los valores por el metodo $ajax de jquery pero , igual k el vea su mejor opcion :P
  #9 (permalink)  
Antiguo 12/04/2009, 13:25
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 17 años
Puntos: 18
Respuesta: Consulta SQL

si estás utilizando un formulario con método post y sólo necesitas guardar dichos datos del formulario no necesitas utilizar la superglobal $_REQUEST, sino $_POST.

como te han comentado php es un lenguaje de servidor que se ejecuta de manera síncrona, es decir que envías un request al servidor y éste te responde.
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
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 13:12.