El usuario 1 se conecta a mi aplicativo web y llena un formulario, ahora el usuario 2 llena el mismo formulario y los dos dan guardar al mismo tiempo, el problema es con el id que yo lo tengo que autogenerar (Capricho mio :) ) para eso hago un select a mi tabla y recupero el ultimo codigo y le sumo mas 1, tengo que bloquear mi tabla para evitar id duplicada.
Ahora asi es como lo hago:
Código PHP:
Ver original
$db->consulta("LOCK TABLES notasalida AS ns READ, notasalida WRITE"); $cn = $db->consulta('SELECT MAX(ns_c_id) as codigo FROM notasalida'); $data = $db->fetch_assoc($cn); $cod = $cod + 1; switch($ncod){ case 1 : $ncod = "NS00000".$cod;break; case 2 : $ncod = "NS0000".$cod;break; case 3 : $ncod = "NS000".$cod;break; case 4 : $ncod = "NS00".$cod;break; case 5 : $ncod = "NS0".$cod;break; } $query = "INSERT INTO notasalida VALUES('$ncod','$cboAlmacen','$txtFecha','$cboRecibido','$cboMotivo','$txtReferencia','$txtObservacion','$cboAutorizacion','$txtSolicitante')"; $cn = $db->consulta($query); $db->consulta('UNLOCK TABLES');
Me gustaría saber si esta bien o no la forma que lo hago, la tabla es MySam.
Si habrá otra forma mejor de hacerla y con un ejemplito estaría mejor :D!
