Bueno yo le di un vistazo a tu codigo y lo intente solucionar asi, no se si estara bien no lo he probado aun, pero ahi les va
Código PHP:
///////Creo un bucle y dentro creo el id y reviso si existe, si es asi, creo otro id hasta que salga del bucle y pueda guardar los datos
while ($num_results > 0)
{
$id = mt_rand(100000, 999999);
$query = "SELECT ID FROM tickets WHERE ID = $id";
$resultado = mysql_query($query))
$num_results = mysql_num_rows($resultado);
}
////////Si salio del bucle quiere decir que el numero de registros con un ID igual al generado fue 0 entonces
///////Insertamos el Ticket
$sql = "INSERT INTO tickets (nombre,email,telefono,sitioweb,departamento,titul
o,mensaje,estatus,ID,prioridad,fecha) VALUES
('$_POST[nombre]','$_POST[email]','$_POST[telefono]','$_POST[sitioweb]','$_POST[departamento]','$_POST[titulo]','$_POST[mensaje]','Abierto','$id','$_POST[prioridad]','$fec')";
////Si se ha insertado regresamos al index
if($result = mysql_query($sql))
header("Location: index.php");
Espero cualquier correccion con ansias, recien estoy comenzando