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