Foros del Web » Programando para Internet » PHP »

Verificar datos en mysql y no clonar datos

Estas en el tema de Verificar datos en mysql y no clonar datos en el foro de PHP en Foros del Web. Hola a todos. Bueno, mi problema consiste, en que mi archivo para guardar un producto en la base de datos. Por ejemplo guardar.php funciona a ...
  #1 (permalink)  
Antiguo 16/07/2010, 15:23
Avatar de ciscoh4x0r  
Fecha de Ingreso: junio-2010
Ubicación: Londres, Inglaterra
Mensajes: 300
Antigüedad: 13 años, 9 meses
Puntos: 12
Pregunta Verificar datos en mysql y no clonar datos

Hola a todos.

Bueno, mi problema consiste, en que mi archivo para guardar un producto en la base de datos. Por ejemplo guardar.php funciona a la perfeccion, excepto que.. Cuando ya hay un producto en la base de datos, y yo agrego uno con el mismo nombre, descripcion o precio, me crea otro igual con diferente ID.

El codigo va asi:
Código PHP:
if ($do=="guardar") {
    $sel_comp="SELECT * FROM productos WHERE nombre_producto='$nombre_producto'";
    $rs_comp=mysql_query($sel_comp);
    if (mysql_num_rows($rs_comp) > 0) {
        ?><script>
                alert ("No puede agregar este producto, ya existe en la base de datos.");
                location.href="index.php";
            </script><?
    
} else {
        
$consulta "SELECT max(id_producto) as maximo FROM productos";
        
$rs_consulta=mysql_query($consultaprevia);
        
$id_producto=mysql_result($rs0,"maximo");
        if (
$id_producto=="") { $id_producto=0; }
        
$id_producto++;
        };
        
$query="INSERT INTO productos (id_producto, nombre_producto, descripcion, unidad_medida, precio_unitario, borrado) 
  VALUES ('', '$nombre_producto', '$descripcion', '$unidad_medida', '$precio_unitario', '0')"
;
        
$rs=mysql_query($query);
        
$id_producto=mysql_insert_id();
        if (
$rs) { $mensaje="El producto se ha agregado a la base de datos exitosamente"; }
Y simplemente, me da el script de alerta, cuando sabe que es el mismo nombre de producto, pero aun asi me lo guarda... Algo que este dejando pasar por alto?.



Se los agradezco.
  #2 (permalink)  
Antiguo 16/07/2010, 15:49
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 2 meses
Puntos: 46
Respuesta: Verificar datos en mysql y no clonar datos

Hola.

prueba redirigiendo con php

cambia esto:

Código PHP:
Ver original
  1. if (mysql_num_rows($rs_comp) > 0) {
  2.         ?><script>
  3.                 alert ("No puede agregar este producto, ya existe en la base de datos.");
  4.                 location.href="index.php";
  5.             </script>
  6.     }

por esto:

Código PHP:
Ver original
  1. if (mysql_num_rows($rs_comp) > 0) {
  2.         ?><script>
  3.                 alert ("No puede agregar este producto, ya existe en la base de datos.");
  4.             </script><?
  5.            header("Location: index.php");
  6.     }

suerte.
  #3 (permalink)  
Antiguo 16/07/2010, 16:23
Avatar de ciscoh4x0r  
Fecha de Ingreso: junio-2010
Ubicación: Londres, Inglaterra
Mensajes: 300
Antigüedad: 13 años, 9 meses
Puntos: 12
Respuesta: Verificar datos en mysql y no clonar datos

Hola lair... No me funciona haciendolo con header tambien. El problema consiste en que, el script de alerta de que hay un producto igual, me lo genera, eso quiere decir que si comprueba en la base de datos
Código PHP:
if (mysql_num_rows($rs_comp) > 0
Pero, siempre lo deja agregar, solo que con un diferente ID.
  #4 (permalink)  
Antiguo 16/07/2010, 20:14
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 13 años, 11 meses
Puntos: 461
Respuesta: Verificar datos en mysql y no clonar datos

Cita:
Iniciado por ciscoh4x0r Ver Mensaje
<script>
alert ("No puede agregar este producto, ya existe en la base de datos.");
location.href="index.php";
</script><
el location en javascript se trabaja con el elemento de la window hasta donde tengo entendido es decir en esta linea coloca window.location="index.php" y ve si te funciona
  #5 (permalink)  
Antiguo 17/07/2010, 09:35
Avatar de ciscoh4x0r  
Fecha de Ingreso: junio-2010
Ubicación: Londres, Inglaterra
Mensajes: 300
Antigüedad: 13 años, 9 meses
Puntos: 12
Respuesta: Verificar datos en mysql y no clonar datos

Voy a probar, luego te cuento.
  #6 (permalink)  
Antiguo 17/07/2010, 10:04
Usuario no validado
 
Fecha de Ingreso: mayo-2005
Ubicación: Benicàssim
Mensajes: 56
Antigüedad: 18 años, 10 meses
Puntos: 0
Respuesta: Verificar datos en mysql y no clonar datos

Prueba esto:

Código PHP:

if ( existe  ) {

     
header"Location:xyz.php"; )

}else{

    
INSERT into...

// xyz.php está página tendrá el mensaje de advertencia
Con esto logramos de NO COLOCAR informacion en pantalla antes del HEADER()

Saludos!

Etiquetas: clonar, mysql, verificar
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 20:16.