Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/09/2011, 00:03
davidmrtnz413
 
Fecha de Ingreso: marzo-2011
Ubicación: Victoria,Mexico
Mensajes: 45
Antigüedad: 13 años, 1 mes
Puntos: 0
actualizar un valor de un registro con el mismo id

Hola que tal pues aqui de nuevo pidiendo ayuda tengo la siguiente cuestion necesito actualizar o modificar un valor a un registro el cual tiene el mismo id pero diferente informacion por ejemplo

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
  1. //Desarrollado por Jesus Liñán
  2. //ribosomatic.com
  3. //Puedes hacer lo que quieras con el código
  4. //pero visita la web cuando te acuerdes
  5.  
  6. function objetoAjax(){
  7.     var xmlhttp=false;
  8.     try {
  9.         xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  10.     } catch (e) {
  11.         try {
  12.            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  13.         } catch (E) {
  14.             xmlhttp = false;
  15.         }
  16.     }
  17.  
  18.     if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  19.         xmlhttp = new XMLHttpRequest();
  20.     }
  21.     return xmlhttp;
  22. }
  23.  
  24. function enviarDatosEmpleado(){
  25.     //donde se mostrará lo resultados
  26.     divResultado = document.getElementById('resultado');
  27.     divFormulario = document.getElementById('formulario');
  28.     //valores de los inputs
  29.     id=document.frmempleado.idempleado.value;
  30.     nom=document.frmempleado.nombres.value;
  31.     dep=document.frmempleado.departamento.value;
  32.     suel=document.frmempleado.sueldo.value;
  33.    
  34.     //instanciamos el objetoAjax
  35.     ajax=objetoAjax();
  36.     //usando del medoto POST
  37.     //archivo que realizará la operacion
  38.     //actualizacion.php
  39.     ajax.open("POST", "actualizacion.php",true);
  40.     ajax.onreadystatechange=function() {
  41.         if (ajax.readyState==4) {
  42.             //mostrar los nuevos registros en esta capa
  43.             divResultado.innerHTML = ajax.responseText
  44.             //mostrar un mensaje de actualizacion correcta
  45.             divFormulario.innerHTML = "<p style=\"border:1px solid red; width:400px;\">La actualizaci&oacute;n se realiz&oacute; correctamente</p>";
  46.         }
  47.     }
  48.     //muy importante este encabezado ya que hacemos uso de un formulario
  49.     ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  50.     //enviando los valores
  51.     ajax.send("idempleado="+id+"&nombres="+nom+"&departamento="+dep+"&sueldo="+suel)
  52. }
  53.  
  54. function pedirDatos(idempleado){
  55.     //donde se mostrará el formulario con los datos
  56.     divFormulario = document.getElementById('formulario');
  57.    
  58.     //instanciamos el objetoAjax
  59.     ajax=objetoAjax();
  60.     //uso del medotod GET
  61.     ajax.open("POST", "consulta_por_id.php");
  62.     ajax.onreadystatechange=function() {
  63.         if (ajax.readyState==4) {
  64.             //mostrar resultados en esta capa
  65.             divFormulario.innerHTML = ajax.responseText
  66.             //mostrar el formulario
  67.             divFormulario.style.display="block";
  68.         }
  69.     }
  70.     //como hacemos uso del metodo GET
  71.     //colocamos null
  72.     ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  73.     //enviando los valores
  74.     ajax.send("idemp="+idempleado)
  75. }

CONSULTA.PHP
Código PHP:
Ver original
  1. <?php
  2. //Desarrollado por Jesus Liñán
  3. //ribosomatic.com
  4. //Puedes hacer lo que quieras con el código
  5. //pero visita la web cuando te acuerdes
  6.  
  7. //Configuracion de la conexion a base de datos
  8. $bd_host = "localhost";
  9. $bd_usuario = "root";
  10. $bd_password = "root";
  11. $bd_base = "empleados";
  12. $con = mysql_connect($bd_host, $bd_usuario, $bd_password);
  13. mysql_select_db($bd_base, $con);
  14.  
  15. //consulta todos los empleados
  16.  
  17. $sql=mysql_query("SELECT * FROM empleados",$con);
  18.  
  19. //muestra los datos consultados
  20. //haremos uso de tabla para tabular los resultados
  21. ?>
  22. <table style="border:1px solid #FF0000; color:#000099;width:400px;">
  23. <tr style="background:#99CCCC;">
  24.     <td>Codigo</td>
  25.     <td>Nombres</td>
  26.     <td>Departamento</td>
  27.     <td>Sueldo</td>
  28. </tr>
  29.  
  30. <?php
  31. while($row = mysql_fetch_array($sql)){
  32.     echo "  <tr>";
  33.     //mediante el evento onclick llamaremos a la funcion PedirDatos(), la cual tiene como parametro
  34.     //de entrada el ID del empleado
  35.     echo "      <td><a style=\"text-decoration:underline;cursor:pointer;\" onclick=\"pedirDatos('".$row['idempleado']."')\">".$row['idempleado']."</a></td>";
  36.     echo "      <td>".$row['nombres']."</td>";
  37.     echo "      <td>".$row['departamento']."</td>";
  38.     echo "      <td>".$row['sueldo']."</td>";
  39.     echo "  </tr>";
  40. }
  41. ?>
  42. </table>

ACTUALIZACION.PHP
Código PHP:
Ver original
  1. <?php
  2. //Desarrollado por Jesus Liñán
  3. //ribosomatic.com
  4. //Puedes hacer lo que quieras con el código
  5. //pero visita la web cuando te acuerdes
  6.  
  7. //Configuracion de la conexion a base de datos
  8. $bd_host = "localhost";
  9. $bd_usuario = "root";
  10. $bd_password = "root";
  11. $bd_base = "empleados";
  12. $con = mysql_connect($bd_host, $bd_usuario, $bd_password);
  13. mysql_select_db($bd_base, $con);
  14.  
  15. //variables POST
  16. $idemp=$_POST['idempleado'];
  17. $nom=$_POST['nombres'];
  18. $dep=$_POST['departamento'];
  19. $suel=$_POST['sueldo'];
  20.  
  21. //actualiza los datos del empleados
  22. $sql="UPDATE empleados SET  sueldo='$suel' WHERE idempleado=$idemp AND departamento='Contabilidad'";
  23.  
  24. mysql_query($sql,$con);
  25.  
  26. include('consulta.php');
  27. ?>

CONSULTA POR ID.PHP
Código PHP:
Ver original
  1. <?php
  2. //Desarrollado por Jesus Liñán
  3. //ribosomatic.com
  4. //Puedes hacer lo que quieras con el código
  5. //pero visita la web cuando te acuerdes
  6.  
  7. //Configuracion de la conexion a base de datos
  8. $bd_host = "localhost";
  9. $bd_usuario = "root";
  10. $bd_password = "root";
  11. $bd_base = "empleados";
  12. $con = mysql_connect($bd_host, $bd_usuario, $bd_password);
  13. mysql_select_db($bd_base, $con);
  14.  
  15. //consulta los datos del empleado por su id
  16. $idemp=$_POST['idemp'];
  17.  
  18. $sql=mysql_query("SELECT * FROM empleados WHERE idempleado=$idemp",$con);
  19.  
  20. $row = mysql_fetch_array($sql);
  21.  
  22. //valores de las consultas
  23. $nom=$row['nombres'];
  24. $dep=$row['departamento'];
  25. $suel=$row['sueldo'];
  26.  
  27. //muestra los datos consultados en los campos del formulario
  28. ?>
  29. <form name="frmempleado" action=""
  30. onsubmit="enviarDatosEmpleado(); return false">
  31.     <input name="idempleado" type="hidden" value="<?php echo $idemp; ?>" />
  32.   <p>Nombres
  33.     <input name="nombres" type="text" value="<?php echo $nom; ?>" />
  34.   </p>
  35.   <p>Departamento
  36.     <select name="departamento">
  37.       <?php
  38.       echo "<option value=\"".$dep."\">".$dep."</option>"
  39.       ?>
  40.       <option value="Informatica">Informatica</option>
  41.       <option value="Contabilidad">Contabilidad</option>
  42.       <option value="Administracion">Administracion</option>
  43.       <option value="Logistica">Logistica</option>
  44.     </select>
  45.   </p>
  46.   <p>Sueldo <strong>S/.</strong>
  47.     <input name="sueldo" type="text" value="<?php echo $suel; ?>" />
  48.   </p>
  49.   <p>
  50.     <input type="submit" name="Submit" value="Actualizar" />
  51.   </p>
  52. </form>

esos son los mas importantes ya que los otros son para que aarezca todo, espero me puedan que hacer saludos