Ver Mensaje Individual
  #5 (permalink)  
Antiguo 12/02/2012, 16:00
edie8
 
Fecha de Ingreso: noviembre-2011
Mensajes: 516
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: problemas con limitar textarea y contador de caracteres

aki esta el codigo:
consulta1.php
Código PHP:
<?php

//Configuracion de la conexion a base de datos
$bd_host "localhost"
$bd_usuario "root"
$bd_password "Alamillo2612"
$bd_base "muroredsocial"
$con mysql_connect($bd_host$bd_usuario$bd_password); 
mysql_select_db($bd_base$con); 

//consulta todos los empleados
$perfil=$_GET['id'];
$sql=mysql_query("SELECT * FROM perfil where id_logueado='$perfil'",$con);

//muestra los datos consultados
//haremos uso de tabla para tabular los resultados
?>

<?php
while($row mysql_fetch_array($sql)){
    
//mediante el evento onclick llamaremos a la funcion PedirDatos(), la cual tiene como parametro
    //de entrada el ID del empleado
    
echo "         <a style=\"cursor:pointer;\" onclick=\"pedirDatos('".$row['id_logueado']."')\">".$row['estado']."</a>";
    
}
?>
consulta_por_id.php
Código PHP:
<html>
<head>
<SCRIPT language="JavaScript" type="text/javascript">

function contador (campo, cuentacampo, limite) {
if (campo.value.length > limite) campo.value = campo.value.substring(0, limite);
else cuentacampo.value = limite - campo.value.length;
}

</script>
</head>
<body>
<?php
//Desarrollado por Jesus Liñán
//ribosomatic.com
//Puedes hacer lo que quieras con el código
//pero visita la web cuando te acuerdes

//Configuracion de la conexion a base de datos
$bd_host "localhost"
$bd_usuario "root"
$bd_password "Alamillo2612"
$bd_base "muroredsocial"
$con mysql_connect($bd_host$bd_usuario$bd_password); 
mysql_select_db($bd_base$con); 

//consulta los datos del empleado por su id
$idemp=$_POST['idemp'];

$sql=mysql_query("SELECT * FROM perfil WHERE id=$idemp",$con);

$row mysql_fetch_array($sql);

//valores de las consultas
$suel=$row['estado'];

//muestra los datos consultados en los campos del formulario
?>
<center>
<form name="frmempleado" onsubmit="enviarDatosEmpleado(); return false">
<input name="idempleado" type="hidden" value="<?php echo $idemp?>" />
<textarea name="sueldo" wrap=physical cols="28" rows="1" onKeyDown="contador(this.form.sueldo,this.form.remLen,150);" onKeyUp="contador(this.form.sueldo,this.form.remLen,150);" onClick="if(this.value == '<?php echo $suel?>')this.value = '';"><?php echo $suel?></textarea>
<input type="text" name="remLen" size="3" maxlength="3" value="150" readonly>
<input type="submit" name="Submit" value="Actualizar" />
</center>
</body>
</htm>
actualizacion.php
Código PHP:
<?php
//Desarrollado por Jesus Liñán
//[email protected]
//ribosomatic.com
//Puedes hacer lo que quieras con el código
//pero visita la web cuando te acuerdes

//Configuracion de la conexion a base de datos
$bd_host "localhost"
$bd_usuario "root"
$bd_password "Alamillo2612"
$bd_base "muroredsocial"
$con mysql_connect($bd_host$bd_usuario$bd_password); 
mysql_select_db($bd_base$con); 

//variables POST
$idemp=$_POST['idempleado'];
$suel=$_POST['sueldo'];

//actualiza los datos del empleados
$sql="UPDATE perfil SET estado='$suel' WHERE id_logueado=$idemp";

mysql_query($sql,$con);

include(
'consulta1.php');
?>
y por ultimo ajax.js
Código PHP:
//Desarrollado por Jesus Liñán
//[email protected]
//ribosomatic.com
//Puedes hacer lo que quieras con el código
//pero visita la web cuando te acuerdes

function objetoAjax(){
    var 
xmlhttp=false;
    try {
        
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (
e) {
        try {
           
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (
E) {
            
xmlhttp false;
          }
    }

    if (!
xmlhttp && typeof XMLHttpRequest!='undefined') {
        
xmlhttp = new XMLHttpRequest();
    }
    return 
xmlhttp;
}

function 
enviarDatosEmpleado(){
    
//donde se mostrará lo resultados
    
divResultado document.getElementById('resultado');
    
divFormulario document.getElementById('formulario');
    
//valores de los inputs
    
id=document.frmempleado.idempleado.value;
    
suel=document.frmempleado.sueldo.value;
    
    
//instanciamos el objetoAjax
    
ajax=objetoAjax();
    
//usando del medoto POST
    //archivo que realizará la operacion
    //actualizacion.php
    
ajax.open("POST""actualizacion.php",true);
    
ajax.onreadystatechange=function() {
        if (
ajax.readyState==4) {
            
//mostrar los nuevos registros en esta capa
            
divResultado.innerHTML ajax.responseText
            
//mostrar un mensaje de actualizacion correcta
            
divFormulario.innerHTML "<p style=\"border:1px solid red; width:400px;\">La actualizaci&oacute;n se realiz&oacute; correctamente</p>";
        }
    }
    
//muy importante este encabezado ya que hacemos uso de un formulario
    
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    
//enviando los valores
    
ajax.send("idempleado="+id+"&sueldo="+suel)
}

function 
pedirDatos(idempleado){
    
//donde se mostrará el formulario con los datos
    
divFormulario document.getElementById('formulario');
    
    
//instanciamos el objetoAjax
    
ajax=objetoAjax();
    
//uso del medotod GET
    
ajax.open("POST""consulta_por_id.php");
    
ajax.onreadystatechange=function() {
        if (
ajax.readyState==4) {
            
//mostrar resultados en esta capa
            
divFormulario.innerHTML ajax.responseText
            
//mostrar el formulario
            
divFormulario.style.display="block";
        }
    }
    
//como hacemos uso del metodo GET
    //colocamos null
    
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    
//enviando los valores
    
ajax.send("idemp="+idempleado)
}
function 
contador (campocuentacampolimite) {
if (
campo.value.length limitecampo.value campo.value.substring(0limite);
else 
cuentacampo.value limite campo.value.length;