Foros del Web » Programando para Internet » PHP »

PHP OO datos repetidos con php

Estas en el tema de datos repetidos con php en el foro de PHP en Foros del Web. Hola miren que soy nuevo con php y mysql lo que pasa es que estoy haciendo una aplicación web ya la tenia casi terminada, con ...
  #1 (permalink)  
Antiguo 12/07/2013, 16:53
 
Fecha de Ingreso: julio-2013
Mensajes: 1
Antigüedad: 10 años, 9 meses
Puntos: 0
datos repetidos con php

Hola miren que soy nuevo con php y mysql lo que pasa es que estoy haciendo una aplicación web ya la tenia casi terminada, con mensajes cono JS lo que pasa es que cuando queria insertar un numero de factura y ya existia me mandada el mensaje de ke ya existia, pero solo del 2 numero ejemplo 12 o 30, pero si quiero poner por ejemplo 23456 no hace nada y me marca error de consulta este es mi codigo espero y me puedan ayudar


$conexion=mysql_connect("localhost","root","") or die ("error de conexion");
$base=mysql_select_db("base",$conexion)or die ("error de base");
$compara=mysql_query("select * from facturas") or die ("error de comparacion");

$row = mysql_fetch_array($compara);

if($numero == $row["numero"])
{
echo' <script language="javascript">
alert ("El numero de factura ya existe por favor intenta con otro numero")
self.location = "index.php"
</script>';

}


else
{
$consulta=mysql_query("INSERT INTO `facturas`(`numero`, `proveedor`, `fecha_i`,`anov`,`mesv`,`diav`,`fecha_v`, `cantidad`,`des1`,`des2`,`des3`, `descuento`, `total`) VALUES ($numero,'$proveedor','$fechae',$anov,$mesv,$diav, '$fechav','$num',$des1,$des2,$des3,'$desc_total',' $total')") or die ("erro de consulta");


echo '<script language = javascript>
alert("Factura agregado con Exito")
self.location = "index.php"
</script>';

};

//};


?>
  #2 (permalink)  
Antiguo 12/07/2013, 17:26
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: datos repetidos con php

Lo que haces es solicitar todos los registros de la tabla y comparas la primer fila contra tu dato.

Primero debes consultar sólo por el folio o dato que te interesa.

Una forma de hacerlo es así:

Código PHP:
Ver original
  1. if(mysql_num_rows(myql_query("select numero from facturas where numero='$numero'"))){
  2.  
  3. echo' <script language="javascript">
  4. alert ("El numero de factura ya existe por favor intenta con otro numero")
  5. self.location = "index.php"
  6. </script>';
  7.  
  8. }


"select numero from facturas where numero='$numero'"---Aqui consultas sólo por el numero o folio que te interesa.

mysql_num_rows() te dice la cantidad de registros que coinciden con tu búsqueda.

al hacer if(mysql_num_rows) preguntas "Si hay al menos un registro...."

Nota: mysql está declarado como obsoleto, por lo que te recomiendo comenzar a usar mysqli, pdo a alguna alternativa más reciente.

Etiquetas: mysql, repetidos, select, sql
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 03:18.