Tengo una duda en un script que agrega resultados de carreras. Lo que hace es tomando las líneas buscar los registros que tengan el nombre y los apellidos iguales y los graba en la tabla de resultados, el caso es que me ha surgido una duda, ya que lo que hace es que cuando encuentra un registro que cumpla las condiciones lo agrega, pero ¿y si hay dos o más corredores con el mismo nombre o que empiecen igual? ¿Cómo podría solucionar eso?
Código PHP:
$carrera = $_POST['carrera'];
$clasi = $_POST['clasificacion'];
$cate = $_POST['categoria'];
$clasi2 = utf8_decode($clasi);
$linea = strtok ($clasi2,"\n");
$sqlcarrera = "SELECT nombre,fecha_inicio FROM nuke_calendario_ciclocross WHERE id='$carrera'";
$resultcarrera = mysql_query($sqlcarrera);
list($nomcarrera,$fecha) = mysql_fetch_row($resultcarrera);
echo"carrera: $nomcarrera";
if ($cate == 1) echo"Elite";
if ($cate == 2) echo"Sub23";
if ($cate == 3) echo"Junior";
if ($cate == 4) echo"Cadete";
echo"<br><br>";
while ($linea != false) {
list( $datos, $tiempo ) = explode( " - ", $linea );
list( $pos, $name ) = explode( " " , $datos , 2);
list( $apellidos, $nombre ) = explode( "," , $name );
$sqlciclista = "SELECT id FROM nuke_feminas_cc WHERE nombre LIKE '".$nombre."%' AND apellidos LIKE '".$apellidos."%'";
$resultciclista = mysql_query($sqlciclista);
if(list($cid) = mysql_fetch_row($resultciclista)) $nex=0;
else $nex=1;
if ($nex == 0) {
$contador++;
if ($cate == 1) $sqlinsert ="INSERT INTO nuke_resultados_fem_ciclocross (rid,cid,pos,fecha,tiempo) VALUES ('".$carrera."' , '".$cid."' , '".$pos."' , '".$fecha."' , '".$tiempo."')";
if ($cate == 2) $sqlinsert ="INSERT INTO nuke_resultados_fem_sub23_ciclocross (rid,cid,pos,fecha,tiempo) VALUES ('".$carrera."' , '".$cid."' , '".$pos."' , '".$fecha."' , '".$tiempo."')";
if ($cate == 3) $sqlinsert ="INSERT INTO nuke_resultados_fem_junior_ciclocross (rid,cid,pos,fecha,tiempo) VALUES ('".$carrera."' , '".$cid."' , '".$pos."' , '".$fecha."' , '".$tiempo."')";
if ($cate == 4) $sqlinsert ="INSERT INTO nuke_resultados_fem_cadete_ciclocross (rid,cid,pos,fecha,tiempo) VALUES ('".$carrera."' , '".$cid."' , '".$pos."' , '".$fecha."' , '".$tiempo."')";
$resultinsert = mysql_query($sqlinsert);
}
else { echo"ERROR: El ciclista clasificado ".$pos.", ".$nombre." ".$apellidos." no existe en la base de datos<br>"; $errores++; }
//echo"$nombre<br>";
$linea = strtok("\n");
}
echo"Añadidos $contador resultados";