Identificarte

Versión Completa : problema con modificar+php+mysql


Sponsored links
.




shadow sonic
junio 1, 2005, 08:53
hola
estoy tratando de modificar el telefono y email de un profesor ingresado en la base de datos,cuando intento modificarlo lo hace pero me modifica los campos de todos los profesores.

por ejemplo:
quiero modificarle el telefono y email al profesor juan ,al profesor juan le modifica esos registros pero los 50 profesores que tengo en la base de datos quedan con los mismos datos que le ingrese al profesor juan.
en el metodo modificar hago la busqueda por el rut que es la clave primaria,si la busqueda es correcta deberia actualizar solo el registro del profesor juan y no de todos los profesores que estan en la base de datos.

en que parte de mi codigo estara el problema?
muchas gracias


aqui creo el objeto

<?php
include ("Profesor_datos.php");

$mod=new Profesor_datos();
$mod->modificar($rut,$telefono,$email);
?>



mi funcion para modificar

function modificar($rut,$telefono,$email)
{
$this->rut=$rut;
$this->telefono=$telefono;
$this->email=$email;
if ( $this->telefono=="" and $this->email=="" )
{
echo "<center><b>Debe llenar campo telefono y email</center></b>";
}
else
{
if( $this->telefono==true and $this->email==true )
{
mysql_connect("localhost","root","");
if(mysql_db_query("sase","select * FROM profesor where RUT='$this->rut'"))
{
mysql_db_query("sase","update profesor set FONO='$this->telefono',E_MAIL='$this->email'");
mysql_close();
echo "<br><b><center>Registro actualizado</center></b>";
}
}
else
{
echo "<b><center>Debe llenar los campos</center></b>";
}

echo "<br><br>";
echo" <center><a href=ing_profesor.html><h3>Volver página principal</h3></a></center>";
} }



mi formulario por el cual muestro el nombre del profesor que esta en la base de datos y luego con los texbox ingreso los datos a modificar

<html>
<head><title>Modificar Profesor </title>

<body>


<center>

<BR><BR>
<h1><b>Modificar Profesor</b></h1>
<BR><BR><BR>

<form method="POST" action="objeto_modificar_profe.php">
<table border="0" cellpadding="0" cellspacing="0">
<?
mysql_connect("localhost","root","");

$sSQL="Select * From profesor Order By NOMBRE";
$result=mysql_db_query("sase",$sSQL);
echo "<tr>";
echo "<td align='left' width='70'><b>Nombre:</b>";
echo "</td>";
echo "<td align='left'><select name='nombre'>";
echo "<option>- - - - - - - - - - - - - - - - -";
while ($row=mysql_fetch_array($result))
{echo '<option>'.$row["NOMBRE"];}
mysql_free_result($result);
echo "</select></td>";

mysql_close();
?>
<tr>
<td width="50%">Telefono</td>
<td width="50%" align="center"><input size="20" name="telefono"></td>
</tr>
<tr>
<td width="50%">E-mail</td>
<td width="50%" align="center"><input size="20" name="email"></td>
</tr>


</table>

<BR><BR><BR>

<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="50%">
<center><input type="submit" value="Modificar" name="modificar" ></center></td>

<td width="50%">
<input type="reset" value="Borrar Formulario" ></td>
</tr>

</table>

</form>


<br><br>
<center><a href=profesor.html><h3>Volver página principal</h3></a></center>
</head>
</body>
</html>

arthvrian
junio 1, 2005, 09:23
Hola de Nuevo shadow sonic

pues TE FALTA UN WHERE aqui:


mysql_db_query("sase","update profesor set FONO='$this->telefono',E_MAIL='$this->email'");


reemplazalo con esto


mysql_db_query("sase","update profesor set FONO='$this->telefono',E_MAIL='$this->email WHERE RUT='$this->rut''");


y una pregunta suelta que estas heciendo??? -> para que es esto???

saludos y suerte

shadow sonic
junio 1, 2005, 10:14
Hola de Nuevo shadow sonic

pues TE FALTA UN WHERE aqui:


mysql_db_query("sase","update profesor set FONO='$this->telefono',E_MAIL='$this->email'");


reemplazalo con esto


mysql_db_query("sase","update profesor set FONO='$this->telefono',E_MAIL='$this->email WHERE RUT='$this->rut''");


y una pregunta suelta que estas heciendo??? -> para que es esto???

saludos y suerte



muchas gracias de nuevo con eso lo solucione,lo que estoy haciendo es un sistema que tengo que diseñar para un ramo que se llama taller de sistemas en la universidad ,es un sistema sobre ingreso de profesores,asignaturas y sobre los equipos(datashow,laboratorios,etc) que ellos solicitan,pero todavia no llego a hace `parte del sistema y lo otro todas las semanas tengo que ir mostrando avances sobre lo que llevo programado del sistema.

ahora estoy en la parte de ingreso,eliminacion,modificacion y consulta sobre los profesores que estan en la base de datos

arthvrian
junio 2, 2005, 09:41
No hay por donde, o sea que lo que estas haciendo es un Sistema de Informacion (profesores, asignaturas) y un inventario dinamico (satashow, laboratorios) :P:P:P

Saludos y aqui estare para futuras preguntas :P