Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/02/2008, 13:28
Fherdi
 
Fecha de Ingreso: mayo-2006
Mensajes: 3
Antigüedad: 18 años
Puntos: 0
Cruza de datos insert en mysql

Buenas tardes a todos, disculpe la molestia antes que nada, y agradecere que me puedan ayudar en lo siguiente:
Tengo creado una pequeña aplicación para la requisión de compras de articulos, tengo 2 tablas mysql: comdoc(Guardo el folio del documento y sus generales) y comren(guardo cada articulo dado de alta, renglon por renglon).
Cuando doy de alta el requisición el sistema primero va a la tabla comdoc a verificar el ultimo folio que use, y así poner el consecutivo, y después de eso me permite capturar manualmente el dato que necesite en cada renglon que pongo en la pantalla por medio de tablas. Bueno hasta ahí no hay problema, sino cuando voy a guardar, cuando le indico guardar, vuelvo a verificar que el ultimo folio, por aquello de que otro usuario en el inter lo halla usado, y bueno al parecer no me funciona del todo bien, pues en ocasiones si dos usuarios guardan al mismo tiempo, pues las partidas me aparecen complementadas con las del otro, es decir, se me guardan en con el mismo folio lo que capturo un usuario y el otro. Necesito consejos para saber como puedo mejorar esta programación y pueda bloquear el registro mientras guarda uno u el otro, espero me puedan ayudar.

Código PHP:
<html>
<head>
<title>Requisición de Compras</title>
</head>
<body>
<center><h2>Envio de Solicitud</h2></center>
<br>
<ol>

<?php
 
  
if (!($link=mysql_connect("10.74.204.17","fernando","fernandito")))
 {
   echo 
"error conectando a la base de datos";
   exit();
 }
 if (!
mysql_select_db("mb",$link))
 {
  echo 
"error seleccionando la base de datos";
  exit();
 }

/// Aqui comienza el llenado de comdoc

   
$tmp1 "Select * from comdoc order by folio";
   
$consulta1=mysql_query($tmp1,$link);
    while (
$row=mysql_fetch_array($consulta1))
     {
     
$folio=$row["folio"];
     }
       if(
$folio==0)
        {
        
$folio=$folio+1;
        }
        else
        {
         
$folio=$folio+1;
        } 
      
       if(
strlen($folio)==1)
        {
        
$folio="00000".$folio;
        }
        
       if(
strlen($folio)==2)
        {
        
$folio="0000".$folio;
        }
       if(
strlen($folio)==3)
        {
        
$folio="000".$folio;
        }
       if(
strlen($folio)==4)
        {
        
$folio="00".$folio;
        }
       if(
strlen($folio)==5)
        {
        
$folio="0".$folio;
        }


//   printf (" Folio a registrar: %s" , $folio) ;      
      
mysql_free_result ($consulta1) ;

$xfechaalta=date('Y-m-d');
$xhora=date('H:i:s'); 
$insert"insert into comdoc (folio,plaza,fechas,hora,deptosolic,caracter,entrega,nomsolic,observacion)
values ('$folio','$plaza','$xfechaalta','$xhora','$deptosolic','$caracter','$entrega','$nomsolic','$observacion')"
;

mysql_query($insert,$link);


/// Aqui comienza el llenado de comren

 
if($Desc1!=""
   {
    
$insert="";
    
$insert"insert into comren (nofolio,noparte,renglon,descripcion,unidad,cantidad,existencia)
    values ('$folio','$parte1','$Ren1','$Desc1','$Uni1','$Can1','$ExA1')"
;
    
mysql_query($insert,$link);
   }

 if(
$Desc2!=""
   {
    
$insert="";
    
$insert"insert into comren (nofolio,noparte,renglon,descripcion,unidad,cantidad,existencia)
    values ('$folio','$parte2','$Ren2','$Desc2','$Uni2','$Can2','$ExA2')"
;
    
mysql_query($insert,$link);
   }
 
  if(
$Desc3!=""
   {
    
$insert="";
    
$insert"insert into comren (nofolio,noparte,renglon,descripcion,unidad,cantidad,existencia)
    values ('$folio','$parte3','$Ren3','$Desc3','$Uni3','$Can3','$ExA3')"
;
    
mysql_query($insert,$link);
   }
   
   if(
$Desc4!=""
   {
    
$insert="";
    
$insert"insert into comren (nofolio,noparte,renglon,descripcion,unidad,cantidad,existencia)
    values ('$folio','$parte4','$Ren4','$Desc4','$Uni4','$Can4','$ExA4')"
;
    
mysql_query($insert,$link);
   } 
   
    if(
$Desc5!=""
   {
    
$insert="";
    
$insert"insert into comren (nofolio,noparte,renglon,descripcion,unidad,cantidad,existencia)
    values ('$folio','$parte5','$Ren5','$Desc5','$Uni5','$Can5','$ExA5')"
;
    
mysql_query($insert,$link);
   }
   
    if(
$Desc6!=""
   {
    
$insert="";
    
$insert"insert into comren (nofolio,noparte,renglon,descripcion,unidad,cantidad,existencia)
    values ('$folio','$parte6','$Ren6','$Desc6','$Uni6','$Can6','$ExA6')"
;
    
mysql_query($insert,$link);
   }
   
    if(
$Desc7!=""
   {
    
$insert="";
    
$insert"insert into comren (nofolio,noparte,renglon,descripcion,unidad,cantidad,existencia)
    values ('$folio','$parte7','$Ren7','$Desc7','$Uni7','$Can7','$ExA7')"
;
    
mysql_query($insert,$link);
   }
   
    if(
$Desc8!=""
   {
    
$insert="";
    
$insert"insert into comren (nofolio,noparte,renglon,descripcion,unidad,cantidad,existencia)
    values ('$folio','$parte8','$Ren8','$Desc8','$Uni8','$Can8','$ExA8')"
;
    
mysql_query($insert,$link);
   }
   
    if(
$Desc9!=""
   {
    
$insert="";
    
$insert"insert into comren (nofolio,noparte,renglon,descripcion,unidad,cantidad,existencia)
    values ('$folio','$parte9','$Ren9','$Desc9','$Uni9','$Can9','$ExA9')"
;
    
mysql_query($insert,$link);
   }
   
    if(
$Desc10!=""
   {
    
$insert="";
    
$insert"insert into comren (nofolio,noparte,renglon,descripcion,unidad,cantidad,existencia)
    values ('$folio','$parte10','$Ren10','$Desc10','$Uni10','$Can10','$ExA10')"
;
    
mysql_query($insert,$link);
   }
   
    if(
$Desc11!=""
   {
    
$insert="";
    
$insert"insert into comren (nofolio,noparte,renglon,descripcion,unidad,cantidad,existencia)
    values ('$folio','$parte11','$Ren11','$Desc11','$Uni11','$Can11','$ExA11')"
;
    
mysql_query($insert,$link);
   }
   
    if(
$Desc12!=""
   {
    
$insert="";
    
$insert"insert into comren (nofolio,noparte,renglon,descripcion,unidad,cantidad,existencia)
    values ('$folio','$parte12','$Ren12','$Desc12','$Uni12','$Can12','$ExA12')"
;
    
mysql_query($insert,$link);
   }
   
    if(
$Desc13!=""
   {
    
$insert="";
    
$insert"insert into comren (nofolio,noparte,renglon,descripcion,unidad,cantidad,existencia)
    values ('$folio','$parte13','$Ren13','$Desc13','$Uni13','$Can13','$ExA13')"
;
    
mysql_query($insert,$link);
   }
   
    if(
$Desc14!=""
   {
    
$insert="";
    
$insert"insert into comren (nofolio,noparte,renglon,descripcion,unidad,cantidad,existencia)
    values ('$folio','$parte14','$Ren14','$Desc14','$Uni14','$Can14','$ExA14')"
;
    
mysql_query($insert,$link);
   }
   
    if(
$Desc15!=""
   {
    
$insert="";
    
$insert"insert into comren (nofolio,noparte,renglon,descripcion,unidad,cantidad,existencia)
    values ('$folio','$parte15','$Ren15','$Desc15','$Uni15','$Can15','$ExA15')"
;
    
mysql_query($insert,$link);
   }

mysql_close ($link);

printf ("<tr><td><b>La solicitud ") ;
        
printf ("<td><b>%s</b>",$folio) ;
        
printf ("<td><b> fue enviada con éxito al depto. de Compras. </b>") ;
                

?>
<!--<center><table><tr><td><a href="file:///D|/mysql/Cryco/index.php">INICIO</a></tr></td></table></center> -->
</ol>
<center><a href="javascript:window.close()"><font>CERRAR</font></a></center>
</body>
</html>
Pongo el codigo para que lo vean, tal vez no sea la mejor manera de programar pero en su momento me sirvio, pero ahora ya es mas usado.

Última edición por GatorV; 26/02/2008 a las 13:38 Razón: Agregar tags de PHP