Desarrolle un sistema que captura partes de algun tipo con sus caracteristicas correspondientes, para despues mostrar los datos en un formulario de verificación de partes, todo lo hace excelentemente, de hecho he realizado pruebas con uno, dos y tres usuarios simultaneamente y no he tendio problemas, pero mi cliente si, dice que captura 80 productos y de ellos 2 no aparece la información, estoy creyendo que como capturan 3 usuarios a la vez la información en algun momento de un usuario se captura junto con la de otro y por consiguiente la del primero se pierde.
Pero es solo una hipotesis porque aun no puedo saber si es esto ya que a mi no me lo ha hecho.
Les pido que me puedan ayudar a identificar si este es el problema y si es así, como puedo controlar que por ejemplo no se dupliquen los registros o que no se pierda lo que captura un usuario u otro.
Les agradezco cualquier ayuda que pudieran ofrecerme u orientarme que camino debo tomar para solucionarlo, muchas gracias de antemano.
Acá les dejo el código.
Código PHP:
$cp=$_POST['cantplano'];
$cf=$_POST['cantfoto'];
$cman=$_POST['cman'];
$cpro=$_POST['cpro'];
$cm=$_POST['cantmedidas'];
$copv=$_POST['cantopv'];
$noparte=$_POST['noparte'];
$nombre=$_POST['nombreparte'];
//calculo de aql
$aqlasoc=$_POST['aqlasoc'];
$db_conexion= mysql_connect("localhost", "xxxx", "xxxxxx") or die("No se pudo conectar a la Base de datos") or die(mysql_error());
mysql_select_db("dbxxxxx") or die(mysql_error());
mysql_query("SET NAMES utf8");
//Primer insert en partes
mysql_query("INSERT INTO partes (noparte, nombre, aql) values('$noparte', '$nombre', '$aqlasoc')") or die(mysql_error());
//obtenemos id de parte insertada
$rins=mysql_query("select * from partes") or die($mysql_error());
while($rowi=mysql_fetch_array($rins))
{
$idparte=$rowi['id_parte'];
}
//planos o especificaciones
for($k=1; $k<=$cp; $k++)
{
$vartemp="poe".$k;
if($_FILES[$vartemp]['name']=="")
{
$poe="NA";
}
else if(isset($_FILES[$vartemp]['tmp_name']))
{
$ruta_destino = 'C:/xampp/htdocs/riparpro2/partes/planoespec/';
if(move_uploaded_file($_FILES[$vartemp]['tmp_name'], $ruta_destino.$_FILES[$vartemp]['name']))
{
$poe=$_FILES[$vartemp]['name'];
//Segundo insert en plano parte
mysql_query("INSERT INTO planoparte (id_parte, plano) values('$idparte', '$poe')") or die(mysql_error());
}//fin if subir plano
}
else {echo "No se pudo subir el plano al servidor.";}
}
//fotografias
for($f=1; $f<=$cf; $f++)
{
$vartempf="foto".$f;
if($_FILES[$vartempf]['name']=="")
{
$foto="NA";
}
else if(isset($_FILES[$vartempf]['tmp_name']))
{
$ruta_destinof = 'C:/xampp/htdocs/riparpro2/partes/fotos/';
if(move_uploaded_file($_FILES[$vartempf]['tmp_name'], $ruta_destinof.$_FILES[$vartempf]['name']))
{
$foto=$_FILES[$vartempf]['name'];
//Tercer insert en foto parte
mysql_query("INSERT INTO fotoparte (id_parte, foto) values('$idparte', '$foto')") or die(mysql_error());
}//fin if subir foto
}
else {echo "No se pudo subir el plano al servidor.";}
}
//manufacturadores
for($man=1; $man<=$cman; $man++)
{
$varmantemp="man".$man;
$manu=$_POST[$varmantemp];
//Cuarto insert en manufacturadores parte
mysql_query("INSERT INTO manuparte (id_parte, manu) values('$idparte', '$manu')") or die(mysql_error());
}
//proveedores
for($pro=1; $pro<=$cpro; $pro++)
{
$varprotemp="proveedor".$pro;
$proveedor=$_POST[$varprotemp];
//Quinto insert en proveedores parte
mysql_query("INSERT INTO proveeparte (id_parte, provee) values('$idparte', '$proveedor')") or die(mysql_error());
}
//medidas
if(($cm!="") or ($cm!=0))
{
for($cd=1; $cd<=$cm; $cd++)
{
$vartemp1="mr".$cd;
$vartemp2="tolerancia".$cd;
$vartemp3="um".$cd;
$vartotal=$_POST[$vartemp1]."|".$_POST[$vartemp2]."|".$_POST[$vartemp3];
// Sexto y último insert
mysql_query("INSERT INTO `medidap` (`id_parte`, `cont`) values($idparte,'$vartotal')") or die(mysql_error());
} // fin for medidas
} //fin if medidas
//Otro puntos a verificar
for($er=1; $er<=$copv; $er++)
{
$temporal="opv".$er;
$varopv=$_POST[$temporal];
if($varopv!="")
{
//ultimo insert en otros puntos parte
mysql_query("INSERT INTO puntos (id_parte, opv) values('$idparte', '$varopv')") or die(mysql_error());
}
}