MySQL - Select condicionado para Insertar datos

 
Vista:

Select condicionado para Insertar datos

Publicado por Ricardo J. Ríos R. (1 intervención) el 01/12/2008 17:26:53
Buenos Dias a Todos,

Gracias por leer mi nota, tengo una duda, estoy realizando una aplicacion en web con html, php y mysql.

Les explico mi ejemplo, cada vez que una persona ingrese un articulo en el sistema este tiene un serial empresarial, que es unico, siempre debe tener un valor, no se puede repetir, y luego debe ingresar el otro serial que trae el articulo (que normalmente deberian traen todos), pero se da el caso de que algunos articulos no poseen serial obligandonos a poner N/A, y a su vez este "N/A" puede y debe repetirse dentro de la base de datos, por lo que en caso de que no sea "N/A" el valor no puden haber valores duplicados de seriales, por lo que no se como aplicar este select en el sistema.

I.E.:

Serial Empresarial | Serial Articulo
121 PC0709006326
122 N/A
123 N/A
124 1807503CSU
125 N/A
126 ZF731B056497


Como ven solo el N/A se puede repetir en el Serial Articulo, entonces lo que he pensado a la hora de ingresar los datos en la base de datos y no se si esta bien, es lo siguiente:

$result = mysql_query("SELECT activo.serialemp FROM activo WHERE activo.serialemp = '$serialemp'");
$result2 = mysql_query("SELECT activo.serial FROM activo WHERE activo.serial = '$serial'");
if (mysql_num_rows($result)!=0)
{
while($row = mysql_fetch_array ($result2))
{
if ($row[comentario] == "N/A")
{
$result3 = mysql_query("INSERT INTO `activos`.`activo` (
`serialemp` ,
`serial` ,
`descripcion` ,
`proveedor` ,
`ubicacion` ,
`ubicacion2` ,
`factura` ,
`cantidad` ,
`precio` ,
`adq_dia` ,
`adq_mes` ,
`adq_ano` ,
`gar_dia` ,
`gar_mes` ,
`gar_ano` ,
`estado` ,
`ci_responsable` ,
`nombre_responsable` ,
`ci_usuario` ,
`nombre_usuario` ,
`comentario`
)
VALUES (
'$serialemp',
'$serial',
'$descripcion',
'$proveedor',
'$ubicacion',
'$ubicacion2',
'$factura',
'$cantidad',
'$precio',
'$adq_dia',
'$adq_mes',
'$adq_ano',
'$gar_dia',
'$gar_mes',
'$gar_ano',
'$estado',
'$ci_responsable',
'$nombre_responsable',
'$ci_usuario',
'$nombre_usuario',
'$comentario'
)");
}
}

header("Location: Error_Activo.html");
}
else if (mysql_num_rows($result)==0)
{
$result3 = mysql_query("INSERT INTO `activos`.`activo` (
`serialemp` ,
`serial` ,
`descripcion` ,
`proveedor` ,
`ubicacion` ,
`ubicacion2` ,
`factura` ,
`cantidad` ,
`precio` ,
`adq_dia` ,
`adq_mes` ,
`adq_ano` ,
`gar_dia` ,
`gar_mes` ,
`gar_ano` ,
`estado` ,
`ci_responsable` ,
`nombre_responsable` ,
`ci_usuario` ,
`nombre_usuario` ,
`comentario`
)
VALUES (
'$serialemp',
'$serial',
'$descripcion',
'$proveedor',
'$ubicacion',
'$ubicacion2',
'$factura',
'$cantidad',
'$precio',
'$adq_dia',
'$adq_mes',
'$adq_ano',
'$gar_dia',
'$gar_mes',
'$gar_ano',
'$estado',
'$ci_responsable',
'$nombre_responsable',
'$ci_usuario',
'$nombre_usuario',
'$comentario'
)");
header("Location: Nuevo_Activo.php");

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder