Foros del Web » Programando para Internet » Javascript »

Cambiar valor de la tabla mysql con javascript

Estas en el tema de Cambiar valor de la tabla mysql con javascript en el foro de Javascript en Foros del Web. Buenas gente, espero puedan ayudarme con mi problema. Tengo una pagina donde hago una consulta a la db y me trae todos los trabajadores cargados ...
  #1 (permalink)  
Antiguo 22/01/2013, 11:07
Avatar de Nico0601  
Fecha de Ingreso: diciembre-2012
Ubicación: Buenos Aires, Zona Sur
Mensajes: 134
Antigüedad: 11 años, 4 meses
Puntos: 0
Cambiar valor de la tabla mysql con javascript

Buenas gente, espero puedan ayudarme con mi problema.
Tengo una pagina donde hago una consulta a la db y me trae todos los trabajadores cargados en otro lado.
Los muestro en una tabla, y agregue un checkbox para tildar o destildar segun corresponda.
El tema es que al seleccionar el checkbox quiero que me cambie a 1 el valor en la db.
O sea que por defecto esta en 0 (cero) y al seleccionar el checkbox me cambie a 1.
Como puedo hacer eso????
Algun ejemplo???
__________________
Nico...
  #2 (permalink)  
Antiguo 22/01/2013, 12:58
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Cambiar valor de la tabla mysql con javascript

te recuerdo que mysql solo es accesible por el servidor, en tal caso JS no tiene ese acceso, puedes utilizar una petición AJAX hacia el lenguaje del server para ejecutar la actualización a mysql
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 22/01/2013, 12:59
Avatar de Nico0601  
Fecha de Ingreso: diciembre-2012
Ubicación: Buenos Aires, Zona Sur
Mensajes: 134
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Cambiar valor de la tabla mysql con javascript

Ok! Algun ejemplo para que pueda resolver lo mio?
Gracias de antemano
__________________
Nico...
  #4 (permalink)  
Antiguo 22/01/2013, 13:02
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Cambiar valor de la tabla mysql con javascript

AJAX no es dificil, pero tampoco conseguirás un ejemplo 100% adaptado a lo que necesites, primero investiga sobre el tema, si no tienes tiempo puedes usar las funciones AJAX de otros FW como jQuery, pero AJAX es sólo la primera parte, necesitas programar del lado del servidor el script que reciba la petición AJAX y actualice mysql, y no nos has dicho cual usas, como PHP, JSP, ASP, entre otros
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 22/01/2013, 13:05
Avatar de Nico0601  
Fecha de Ingreso: diciembre-2012
Ubicación: Buenos Aires, Zona Sur
Mensajes: 134
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Cambiar valor de la tabla mysql con javascript

Ok! Estoy usando PHP y hago una consulta a la db y arrojo todos los resultados en una tabla.
__________________
Nico...
  #6 (permalink)  
Antiguo 22/01/2013, 14:55
Avatar de Nico0601  
Fecha de Ingreso: diciembre-2012
Ubicación: Buenos Aires, Zona Sur
Mensajes: 134
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Cambiar valor de la tabla mysql con javascript

Hola, la verdad que con AJAX no le encuentro la vuelta. Intente hacerlo con PHP y tengo algo asi a ver si me ayudas porque tampoco me funciona.....:(

Código PHP:
<?php
            
while($row=mysql_fetch_array($resultado))
            {
            
?>
                <tr>
                        <td><input type="checkbox" name="aporta" id="aporta" value="0" onclick="location.href='update.php?id=<?php echo $id;?>&valor=1'" /></td>
                        <td align='right'><?php echo($row['apellido']);?></td>
                        <td><?php echo($row['nombre']);?></td>
                        <td><?php echo($row['cuil']);?></td>
                        <td id="basico"><?php echo("$ ".$row['sueldo_basico']);?></td>
                        <td id="bruto"><?php echo("$ ".$row['sueldo_bruto']);?></td>
update.php tengo esto
Código PHP:
include("validar.php");
include(
"conexion.php");

$cuit=$_SESSION["nombre"];

$aporta $_POST['aporta'];
$sql "UPDATE aporta SET aporta=1 WHERE aporta = $aporta";
$rs mysql_query($sql); 
__________________
Nico...
  #7 (permalink)  
Antiguo 23/01/2013, 07:27
Avatar de Nico0601  
Fecha de Ingreso: diciembre-2012
Ubicación: Buenos Aires, Zona Sur
Mensajes: 134
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Cambiar valor de la tabla mysql con javascript

Alguien??? Por favor....llevo dias con esto y necesito solucionarlo....
Gracias
__________________
Nico...
  #8 (permalink)  
Antiguo 23/01/2013, 07:54
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Cambiar valor de la tabla mysql con javascript

veo que en la URL pasas por GET id=<?php echo $id;?>&valor=1

pero en update.php tratas de recoger con $_POST['aporta']

pero ¿quien es aporta?

se supone que debes de recoger id y valor, lo que sería:

Código PHP:
Ver original
  1. $id = $_GET['id'];
  2. $valor = $_GET['valor'];
una vez resuelto ése punto, aplicar AJAX es realmente facil ya teniendo el lado del server resuelto
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #9 (permalink)  
Antiguo 23/01/2013, 08:11
Avatar de Nico0601  
Fecha de Ingreso: diciembre-2012
Ubicación: Buenos Aires, Zona Sur
Mensajes: 134
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Cambiar valor de la tabla mysql con javascript

Ok! Gracias por ayudarme. Ya lo modifique. En el update recojo los valores que paso por GET.
Ahora, como aplico AJAX para que me cambie a 1 si esta tildado?
Gracias de nuevo
Código PHP:
<?php
            
while($row=mysql_fetch_array($resultado))
            {
            
?>
                <tr>
                        <td><input type="checkbox" name="aporta" id="aporta" value="0" onclick="location.href='update.php?id=<?php echo $id;?>&valor=1'" /></td> 
                        <td align='right'><?php echo($row['apellido']);?></td>
                        <td><?php echo($row['nombre']);?></td>
                        <td><?php echo($row['cuil']);?></td>
                        <td id="basico"><?php echo("$ ".$row['sueldo_basico']);?></td>
                        <td id="bruto"><?php echo("$ ".$row['sueldo_bruto']);?></td>
y en el update.php
Código PHP:
include("validar.php");
include(
"conexion.php");

$cuit=$_SESSION["nombre"];

$aporta $_GET['id'];
$valor $_GET['valor']; 
__________________
Nico...
  #10 (permalink)  
Antiguo 23/01/2013, 08:12
 
Fecha de Ingreso: noviembre-2011
Mensajes: 32
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Cambiar valor de la tabla mysql con javascript

A ver, tienes que entender una cosilla para que no te pase más esto, tienes que diferencia lenguajes del lado de servidor con lenguajes de lado del cliente.

JS es un lenguaje que se ejecuta en cliente, es decir, lo interpreta el navegador. Los accesos a BD se realizan con un lenaguaje de acceso a datos (SQL normalmente) pero que se llaman desde servidor con PHP, ASP .NET o Java normalmente.

Lo que quieres hacer es ejecutar desde JS un código PHP que se ejecuta en servidor, esto no se puede hacer ya que el cliente no puede tener acceso a datos que estan en el servidor.

Yo tuve un problema parecido y la forma que veo más fácil para ti es medianta Ajax, Ajax lo que hace es llamar a páginas o trozos de código. Pones tu función php en una pagina en blanco, una página que sólo tenga tu función y con Ajax la recargas, al cargar se ejecutará la función que quieres. Es muy sencillo pero aprendete bien cliente-servidor que te solucionará muchos problemas de este tipo.
  #11 (permalink)  
Antiguo 23/01/2013, 12:14
Avatar de Nico0601  
Fecha de Ingreso: diciembre-2012
Ubicación: Buenos Aires, Zona Sur
Mensajes: 134
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Cambiar valor de la tabla mysql con javascript

Bueno, despues de leer y leer sobre ajax, jquery y demas creo que me voy encaminando....todavia no funciona pero bue....diganme si voy bien o que me falta....
Esto es lo que estoy haciendo..
En trabajadores.php tengo el listado que saco de la base
Código PHP:
<table border="1" cellpadding="4" cellspacing="0">
                  <tr>
                    <th>Aporta</th><th>Apellido</th><th>Nombre</th><th>CUIL</th><th>Basico</th>
                    <th>Bruto</th><th>Afiliado</th><th>Aporte</th><th>Modificar</th>
                 </tr>
            <?php
            
while($row=mysql_fetch_array($resultado))
            {
            
?>
                <tr>
                        <td><input type="checkbox" name="marcar" id="marcar" onclick="checkboxAporta('id','marcar',this.checked);" /></td>
                        <td align='right'><?php echo($row['apellido']);?></td>
                        <td><?php echo($row['nombre']);?></td>
                        <td><?php echo($row['cuil']);?></td>
                        <td id="basico"><?php echo("$ ".$row['sueldo_basico']);?></td>
                        <td id="bruto"><?php echo("$ ".$row['sueldo_bruto']);?></td>
En procesa_aporta.js tengo esto
Código PHP:
function checkboxAporta(idmarcar)
        if(
marcar==1){
            $.
ajax({
                
type:"POST",
                
url:"update.php",
                
data:'id= ' id '&amp;marcar=1',
            });  
        } else{
            $.
ajax({
                
type:"POST",
                
url:"update.php",
                
data:'id= ' id '&amp;marcar=0',
            });
        } 
y en update.php hice esto
Código PHP:
include("validar.php");

include(
"configuracion.inc.php");
include(
"conexion.php");

$cuit=$_SESSION["nombre"];

$query "UPDATE aporta SET marcar=".$_POST['marcar'] . "
        WHERE id="
.$_POST['id'] . ";"
No me funciona como dije antes, pero orientenme porfa a ver donde le estoy errando.
Gracias
__________________
Nico...
  #12 (permalink)  
Antiguo 23/01/2013, 14:39
Avatar de Nico0601  
Fecha de Ingreso: diciembre-2012
Ubicación: Buenos Aires, Zona Sur
Mensajes: 134
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Cambiar valor de la tabla mysql con javascript

Alguiennnn??? Pleaseeeee.....
__________________
Nico...
  #13 (permalink)  
Antiguo 24/01/2013, 10:12
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Cambiar valor de la tabla mysql con javascript

Cita:
Iniciado por Nico0601 Ver Mensaje
Alguiennnn??? Pleaseeeee.....
un poco de paciencia, hacer re-post para subir el tema es penalizado, tenga en cuenta que no todos estamos disponible todo el tiempo


al tema:

cambia la línea

data: 'id= ' + id + '&amp;marcar=1'


por

data: {'id': id, 'marcar':'1' } //y la otra con marcar en '0'

usualmente jQuery admite varias formas de pasar los parámetros, JSON es una de ésas formas, consulta la documentación y lo ideal es que pruebes con una consola de depuración web como firebug, para que veas realmente lo que llega al servidor y lo que te devuelve
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: mysql, tabla, valor
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:00.