Que tal a todos muchos saludos.
Quisiera me ayuden un poco con estas funciones la de conectar es bien familiar

pero las otras quisiera optimizarlas.
En especial la de check que se queda corta cuando intento llamar datos que ya esten en la tabla para que los retorne como checked="checked"... Gracias.
<?php
function conectar() {
$usuario_bd = "";
$password_bd = "";
$base_datos = "";
$servidor = "";
if (!$conexion = @mysql_connect("$servidor", "$usuario_bd", "$password_bd"))
{ die ("Error de conexión por Servidor, usuario o password"); }
if (!@mysql_select_db($base_datos, $conexion))
{ die ("Error en conexión a base de datos"); }
return $conexion;
}
function query($sql,$opcion){
if((($opcion)== "1") || (($opcion)== "array")){
$resultado = mysql_query($sql,conectar());
$i=0;
while ($array = mysql_fetch_array($resultado)){
$array2[$i] = $array;
$i++;
}
return $array2;
}
if((($opcion)== "2") || (($opcion)== "numero")){
$resultado = mysql_query($sql,conectar());
$numero = mysql_num_rows($resultado);
return $numero;
}
}
function select ($sql, $nombre){
echo "<select name='".$nombre."' id='select' >";
$resultado = query($sql);
while ($var2=mysql_fetch_array($resultado)){
$id=$var2[id];
$nombre=$var2[nombre];
echo "<option value='$id'>$nombre</option>";
}
echo "</select>";
}
function check ($sql,$direccion){
$resultado = query($sql);
while ($var2=mysql_fetch_array($resultado)){
$id=$var2[id];
$nombre=$var2[nombre];
if($direccion=="1"){
echo $nombre."<input name='$id' id='$id' type='checkbox' value='$id' /><br>";
}
if($direccion=="2"){
echo $nombre."<input name='$id' id='$id' type='checkbox' value='$id' />";
echo "  ";
}
}
}
//retroceder meses a partir del inicio del mes actual
function sifecha($retro){
$Actual=time();
$fecha = getdate($Actual);
$iniciomesactual = mktime(0,0,0,$fecha[mon],1,$fecha[year]);
$iniciomesrequerido = mktime(0,0,0,$fecha[mon]-$retro,1,$fecha[year]);
$array[0] =$iniciomesactual;
$array[1] =$iniciomesrequerido;
return $array;
}
?>