id -----nombre-----departamento------sueldo
1 juan Informatica 100
1 juan Contabilidad 200
quiero que al actualizar el pago del departamento lacteos en juan no me cambien los 2 registros ya que si hago el update me los pone igual..
use la siguiente instruccion SQL para evitar eso pero la bronca es que ahora no actualiza nada
UPDATE empleados SET sueldo='$sueldo' WHERE idempleado=$idempleado AND departamento='$departamento'
no me actualiza el codigo lo saque de un ejemplo y ahora mi duda no se si sea bronca de php o ajax ya que usa ajax adjunto el codigo
Código AJAX:
Ver original
//Desarrollado por Jesus Liñán //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; nom=document.frmempleado.nombres.value; dep=document.frmempleado.departamento.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ón se realizó 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+"&nombres="+nom+"&departamento="+dep+"&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) }
CONSULTA.PHP
Código PHP:
Ver original
<?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 = "root"; $bd_base = "empleados"; //consulta todos los empleados //muestra los datos consultados //haremos uso de tabla para tabular los resultados ?> <table style="border:1px solid #FF0000; color:#000099;width:400px;"> <tr style="background:#99CCCC;"> <td>Codigo</td> <td>Nombres</td> <td>Departamento</td> <td>Sueldo</td> </tr> <?php echo " <tr>"; //mediante el evento onclick llamaremos a la funcion PedirDatos(), la cual tiene como parametro //de entrada el ID del empleado echo " <td><a style=\"text-decoration:underline;cursor:pointer;\" onclick=\"pedirDatos('".$row['idempleado']."')\">".$row['idempleado']."</a></td>"; echo " <td>".$row['nombres']."</td>"; echo " <td>".$row['departamento']."</td>"; echo " <td>".$row['sueldo']."</td>"; echo " </tr>"; } ?> </table>
ACTUALIZACION.PHP
Código PHP:
Ver original
<?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 = "root"; $bd_base = "empleados"; //variables POST $idemp=$_POST['idempleado']; $nom=$_POST['nombres']; $dep=$_POST['departamento']; $suel=$_POST['sueldo']; //actualiza los datos del empleados $sql="UPDATE empleados SET sueldo='$suel' WHERE idempleado=$idemp AND departamento='Contabilidad'"; include('consulta.php'); ?>
CONSULTA POR ID.PHP
Código PHP:
Ver original
<?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 = "root"; $bd_base = "empleados"; //consulta los datos del empleado por su id $idemp=$_POST['idemp']; //valores de las consultas $nom=$row['nombres']; $dep=$row['departamento']; $suel=$row['sueldo']; //muestra los datos consultados en los campos del formulario ?> <form name="frmempleado" action="" onsubmit="enviarDatosEmpleado(); return false"> <input name="idempleado" type="hidden" value="<?php echo $idemp; ?>" /> <p>Nombres <input name="nombres" type="text" value="<?php echo $nom; ?>" /> </p> <p>Departamento <select name="departamento"> <?php echo "<option value=\"".$dep."\">".$dep."</option>" ?> <option value="Informatica">Informatica</option> <option value="Contabilidad">Contabilidad</option> <option value="Administracion">Administracion</option> <option value="Logistica">Logistica</option> </select> </p> <p>Sueldo <strong>S/.</strong> <input name="sueldo" type="text" value="<?php echo $suel; ?>" /> </p> <p> <input type="submit" name="Submit" value="Actualizar" /> </p> </form>
esos son los mas importantes ya que los otros son para que aarezca todo, espero me puedan que hacer saludos