Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Cambiar estados con solo tocar checkbox

Estas en el tema de Cambiar estados con solo tocar checkbox en el foro de Frameworks JS en Foros del Web. Tabla BD: bd: estados_ajax tabla: estados Código PHP: CREATE TABLE  ` estados ` (   ` id_codigo `  varchar ( 10 )  NOT NULL ,   ` estados `  varchar ...
  #1 (permalink)  
Antiguo 13/11/2009, 21:13
 
Fecha de Ingreso: agosto-2008
Mensajes: 587
Antigüedad: 16 años, 4 meses
Puntos: 6
Cambiar estados con solo tocar checkbox

Tabla BD:


bd: estados_ajax
tabla: estados

Código PHP:
CREATE TABLE `estados` (
  `
id_codigovarchar(10NOT NULL,
  `
estadosvarchar(10NOT NULL
ENGINE=MyISAM DEFAULT CHARSET=utf8;


INSERT INTO `estadosVALUES ('1''0');
INSERT INTO `estadosVALUES ('2''0');
INSERT INTO `estadosVALUES ('3''0');
INSERT INTO `estadosVALUES ('4''0'); 
Código PHP:

//checkbox activo:
$cambio_estados1"UPDATE estados set estados=1 where id_codigo = 1

//checkbox desactivar:
$cambio_estados2= "
UPDATE estados set estados=0 where id_codigo 
La idea es lograr algo como esto, como se puede hacer ?

  #2 (permalink)  
Antiguo 13/11/2009, 21:28
 
Fecha de Ingreso: septiembre-2009
Mensajes: 124
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: Cambiar estados con solo tocar checkbox

Esto lo tenes que hacer con Ajax. Si o si. Ya que es el leguaje que trabaja, en cierta forma, de lado cliente y servidor (aunque de lado servidor utiliza a lenajes de servidor, ej: PHP).

Para poder hacer esto tendrias que, primero, crear un objeto ajax:

Código PHP:
function ajax()    {
    if(
window.XMLHttpRequest)    {
        return new 
XMLHttpRequest();
    }else if(
window.ActiveXObject)    {
        return new 
ActiveXObject('Microsoft.XMLHTTP');
    }
}

function 
enviaDatos(valor)    {
    
Ajax ajax();
    
    
Ajax.open('GET','pagina.php?variable1='+valor);
    
    
Ajax.onreadystatechange = function()    {
        if(
Ajax.readyState==4)    {
            
document.getElementById(contenedor).innerHTML Ajax.responseText();
        }
    }

En el parametro "onclick" de los elementos checkbox le definis las funcion JavaScript que hice anteriormente, creas algun div con id "contenedor", creas un archivo php que reciba los datos y listo

Esto te lo dejo como ayuda, tampoco te voy a hacer el laburo, jajaja.
Si necesitas mas ayuda, pedila. Este fue un empujoncito para que puedas guiarte.

Saludos!
  #3 (permalink)  
Antiguo 13/11/2009, 21:57
 
Fecha de Ingreso: agosto-2008
Mensajes: 587
Antigüedad: 16 años, 4 meses
Puntos: 6
Respuesta: Cambiar estados con solo tocar checkbox

gracias x la ayuda, entonces creo el archivo el archivo html para visualizar el contenido, luego el de javascript el cual contendra el XMLHttpRequest y el php el cual recibira la respuesta para devolverla.

aca tengo algo, pero no me anda bien. tengo duda en el objeto XMLHttpRequest que le envie la informacion a php.

index.html

Código PHP:
<html>
<
head>
<
title>CheckBox Dinamico</title>
<
script src="funciones.js" language="JavaScript"></script>
</head>

<body>
<table width="250" border="1">
  <tr>
    <td>Check 1</td>
    <td>Check 2</td>
    <td>Check 3</td>
    <td>Check 4</td>
  </tr>
  <tr>
    <td><input name="checkbox1" type="checkbox" id="checkbox1" /></td>
    <td><input name="checkbox2" type="checkbox" id="checkbox2" /></td>
    <td><input name="checkbox3" type="checkbox" id="checkbox3" /></td>
    <td><input name="checkbox4" type="checkbox" id="checkbox4" /></td>

  </tr>
</table>
<p>Estado BD:<br />
  Check 1: 0<br />
  Check 2: 0<br />
  Check 3: 0<br />
  Check 4: 0<br />
</p>

<div id="resultados"></div>

</body>
</html> 

funciones.js

Código PHP:

//creo el objecto XMLHttpRequest y valida segun el browser.

function ajaxFunction()
{
var 
xmlhttp;
if (
window.XMLHttpRequest)
  {
  
// code for IE7+, Firefox, Chrome, Opera, Safari
  
xmlhttp=new XMLHttpRequest();
  }
else if (
window.ActiveXObject)
  {
  
// code for IE6, IE5
  
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
else
  {
  
alert("Su browser no soporta XMLHTTP!");
  }
}

// readyState esta en estado 4 para solicitud completa
xmlhttp.onreadystatechange=function()
{
if(
xmlhttp.readyState==4)
  {
  
document.myForm.time.value=xmlhttp.responseText;
  }

codigo.php


Código PHP:

<?php

//consulta para mostrar los resultado.
$consulta " select * from estados";    
$res_consulta mysql_query($consulta$link);

while(
$row mysql_fetch_array($res_consulta))
    {    
        
$id_codigo $row[id_codigo]    
        
$estados $row[estados]            
    }            


//segun el estado del checkbox actualiza si esta o no activado 
//enviado la informacion a la bd mysql.

if ($_REQUEST['checkbox']=='1')
{
$cambio_estados1"UPDATE estados set estados=1 where id_codigo = 1 
}

if ($_REQUEST['checkbox']=='0')
{
$cambio_estados2= "
UPDATE estados set estados=0 where id_codigo 1  
}
?>

Última edición por flashtkd; 13/11/2009 a las 22:29
  #4 (permalink)  
Antiguo 16/11/2009, 10:34
 
Fecha de Ingreso: noviembre-2009
Mensajes: 3
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Cambiar estados con solo tocar checkbox

estoy probando el codigo eh cargado la base de datos y todo ok, pero cuando ejecuto el codigo php no funciona como en los ejemplos.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 18:12.