Puedes usar Javascript. Para hacerlo mas facil, puedes poner los dos campos de la tabla (codigo y tipo) en el select en vez de solo poner uno, osea en vez de:
$ac_cod.="<option value=".$linea[0].">".$linea[0]."</option>";
pon:
$ac_cod.="<option value=".$linea[0].">".$linea[1]."</option>";
suponiendo que $linea[1] es el tipo (poniendolo como valor a escoger) he aqui un ejemplo:
Código HTML:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento</title>
<script language="JavaScript" type="text/JavaScript">
function texto(menu){
if( menu.value != 0 )
document.form1.campo.value = menu.options[menu.selectedIndex].text;
}
</script>
</head>
<body>
<form name="form1" method="post" action="">
<p>
<input type="text" name="campo">
</p>
<p>
<select name="select" onChange="texto(this);">
<option value="0" selected>Selecciona:</option>
<option value="1">Uno</option>
<option value="2">Dos</option>
<option value="3">Tres</option>
</select>
</p>
</form>
</body>
</html>
Asi, cuando seleccionas "Uno", esta palabra te sale en el campo de texto. Si quieres que te aparezca "1" en vez de:
document.form1.campo.value = menu.options[menu.selectedIndex].text;
pon
document.form1.campo.value = menu.value;
Espero que te sirva, saludos