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//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'];
$sql=mysql_query("SELECT * FROM empleados WHERE idempleado=$idemp",$con);
//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