Programación php
Email: Password:


¡Regístrate gratis! | ¿Has perdido tu password?

Home
Blog

En él que podrás informarte de todas las noticias relacionadas con el posicionamiento de páginas web.

Clica aquí para Entrar



Foro de programación en PHP

Responder el mensaje

actualizar datos de una BD, siempre que no exista el registro

Autor: fernando
Publicado: 09-5-2008 02:04 PM
Buenas, me interesaria saber como actualizar los datos de una tabla de una base de datos, siempre que no exista el registro, cogiendolos de un formulario que hay que rellenar,mi problema es que siempre me lo actualiza os pongo el codigo para ver si me podeis resolver esta duda. Un saludo y gracias.
<?php
$dni=$_POST['dni'];
$fecha=$_POST['fecha'];
$hora=$_POST['hora'];
$codigo=1;
$sit=1;
mysql_select_db($database_conexion, $conexion);
$a="select count(*) from reservas where fecha=='$fecha' and where hora=='$hora' and where codigo== '$codigo' and where sit == '$sit'";
$result=mysql_query($a);
$row = mysql_fetch_row($result);
if ($row[0] == 0){
header("Location: reser.php?dni=$dni&fecha=$fecha&hora=$hora");
}else{

$mensaje="Esta hora está reservada por otra persona";
echo $mensaje;
}

?>
Autor: source
Publicado: 10-5-2008 09:00 AM
Yo lo haría de la siguiente manera (suponiendo que ya se ha establecido una conexión con la Base de Datos mediante 'mysql_connect')...

<?php
$dni=$_POST['dni'];
$fecha=$_POST['fecha'];
$hora=$_POST['hora'];
$codigo=1;
$sit=1;

mysql_select_db($database_conexion,$conexion);
$sql="SELECT sit FROM reservas WHERE fecha=='$fecha' && hora=='$hora' && codigo=='$codigo' && sit=='$sit'";
$query=mysql_query($sql,$conexion);
$result=mysql_result($query,0);

if($result==0){
header("Location: reser.php?dni=$dni&fecha=$fecha&hora=$hora");
}else{
echo('Esta hora es reservada por otra persona');
}

?>

Lo que se hizo fue consultar en la BD la existencia de los datos enviados por formulario. Si estos
existen redirecciona a la pagina RESER.PHP, de lo contrario muestra el mensaje de error.

Recuerda que para actualizar es algo muy distinto, ya que se utiliza la sentencia UPDATE.

Espero que te sirva en algo, y sino funciona pues... aprendiste una nueva manera de como no hacerlo :)