Foros del Web » Programando para Internet » PHP »

ayuda con alta.php

Estas en el tema de ayuda con alta.php en el foro de PHP en Foros del Web. Buenas, estoy intentando dar de alta en una base de datos, pero no encuentro la manera de que compruebe si el registro que se inserta ...
  #1 (permalink)  
Antiguo 18/03/2010, 04:27
 
Fecha de Ingreso: marzo-2010
Mensajes: 5
Antigüedad: 14 años, 8 meses
Puntos: 0
ayuda con alta.php

Buenas, estoy intentando dar de alta en una base de datos, pero no encuentro la manera de que compruebe si el registro que se inserta ya existe (mirandolo no por el id,que se autoincrementa, sino por el nombre del campo.)
Tengo esta alta.php:

<?php
include("conexio.php");
if (isset($_REQUEST['alta']))
{
if ($_REQUEST['tan']=="")
{
echo ("No pots deixar el camp en blanc<br>");
echo ("<a href=alta_tancament.php>Tornar</a>");
}
else
{
$result=("insert into Tancament values ('".$_REQUEST['idtan']."','".$_REQUEST['tan']."')");
if ( ! $resul=mysql_query($result))
{
echo "No s'ha pogut realitzar la consulta";
echo mysql_error();
echo ("<a href='alta_tancament.php'>Tornar </a>");
exit;
}
else
{
echo("Alta de tancament realitzada correctament");
echo ("<a href='gestio_tancament.php'>Tornar </a>");
}
}
}
else
{
?>
<html>
<center><h3>Alta de tancament</h3>
<form method='GET' action='alta_tancament.php'>
IDTancament:<input type='text' name='idtan' disabled><br><br>
<input type='hidden' name='idtan' ><br><br>
Tancament:<input type='text' name='tan' maxlength='20'><br><br>
<input type='SUBMIT' name='alta' value='Alta_tancament'>
<a href='gestio_tancament.php'>Tornar </a>
</form></center>
</html>
<?php
}
?>

Alguna ayuda? gracias y salu2
  #2 (permalink)  
Antiguo 18/03/2010, 04:42
Avatar de aniMAYtions  
Fecha de Ingreso: diciembre-2007
Ubicación: Granada
Mensajes: 519
Antigüedad: 16 años, 11 meses
Puntos: 2
Respuesta: ayuda con alta.php

Hola Mufasot.
Antes de hacer la consulta de "Insert Into..." podrías preguntas a la DB si existe o no ese registro. Ten en cuenta de que el campo por el que preguntes debería no permitir duplicidad, o preguntar por 2 campos
Código PHP:
Ver original
  1. $consulta = "Select * From tabla Where campo1='$resultado1' and campo2='$resultado2'";
  2. if(mysql_num_rows(mysql_query($consulta, $conexion)) >0)
  3. echo"Error, el registro ya existe";
  4. else
  5. echo"se puede continuar, el registro no existe";
Espero haberte ayudado.
Un saludo!!
  #3 (permalink)  
Antiguo 18/03/2010, 05:04
 
Fecha de Ingreso: marzo-2010
Mensajes: 5
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: ayuda con alta.php

Ani, he insertado el comando mysql_num_rows pero no saco nada en claro:

<?php
include("conexio.php");
if (isset($_REQUEST['alta']))
{
if ($_REQUEST['tan']=="")
{
echo ("No pots deixar el camp en blanc<br>");
echo ("<a href=alta_tancament.php>Tornar</a>");
}
else
{
$prova=mysql_query("select * from Tancament where IDTancament=".$_REQUEST['idtan']." AND Tancament=".$_REQUEST['tan']."<br>");
if(mysql_num_rows($prova) >0)
{
echo("el tancament ja existeix");
}
else
{
$result=("insert into Tancament values ('".$_REQUEST['idtan']."','".$_REQUEST['tan']."')");
if ( ! $resul=mysql_query($result))
{
echo "No s'ha pogut realitzar la consulta";
echo mysql_error();
echo ("<a href='alta_tancament.php'>Tornar </a>");
exit;
}
else
{
echo("Alta de tancament realitzada correctament");
echo ("<a href='gestio_tancament.php'>Tornar </a>");
}
}

}
}
else
{
?>

<html>
<center><h3>Alta de tancament</h3>
<form method='GET' action='alta_tancament.php'>
IDTancament:<input type='text' name='idtan' disabled><br><br>
<input type='hidden' name='idtan' ><br><br>
Tancament:<input type='text' name='tan' maxlength='20'><br><br>
<input type='SUBMIT' name='alta' value='Alta_tancament'>
<a href='gestio_tancament.php'>Tornar </a>
</form></center>
</html>
<?php
}
?>

Esta bien?
  #4 (permalink)  
Antiguo 18/03/2010, 05:37
Avatar de aniMAYtions  
Fecha de Ingreso: diciembre-2007
Ubicación: Granada
Mensajes: 519
Antigüedad: 16 años, 11 meses
Puntos: 2
Respuesta: ayuda con alta.php

Cita:
Iniciado por Mufasot Ver Mensaje
Ani, he insertado el comando mysql_num_rows pero no saco nada en claro:

<?php

$prova=mysql_query("select * from Tancament where IDTancament=".$_REQUEST['idtan']." AND Tancament=".$_REQUEST['tan']."<br>");

?>

Esta bien?
No te da faios la consulta? mysql_query() requiere habitualmente de 2 parámetros, la consulta y la variable de conexión, a no ser que en tu script de conexión(conexio.php) lo tengas de forma distinta y sólo haias de pasar la consulta(luego en el script le metes el otro parámetro) .
Si es así prueba a hacer un echo de la consulta a ver si te está cogiendo bien las variables $_REQUEST, si no es así prueba a sacarlas de la consulta.
En principio parece estar bien, salvo por los detaies que te he comentado.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:19.