#!/usr/bin/perl
# Danova knihovna pro přístup k databázi MySQL. Je to mezivrstva nad modulem DBI.
# (c) 2005-2007 Dan Zeman <zeman@ufal.mff.cuni.cz>
# Licence: GNU GPL

package mysql;

use utf8;
use DBI;
use Encode;



#------------------------------------------------------------------------------
# Přečte údaje z databáze. Vzorové volání:
# $odkaz_na_pole_hashu = mysql::dotaz($db, "kod", "hry.nazev AS nazev",
# "zbozi.nazev", "hry INNER JOIN zbozi ON hry.kod = zbozi.kod ".$filtr.$razeni);
#------------------------------------------------------------------------------
sub dotaz
{
    my $databaze = shift;
    my $from = pop(@_);
    my @nazvy = @_;
    my $nazvy = join(", ", @nazvy);
    my $dotaz = "SELECT $nazvy FROM $from";
    my $dtzobj = $databaze->prepare($dotaz);
    $dtzobj->execute();
    my @pole;
    while(my @radek = map{decode("utf8", $_)}($dtzobj->fetchrow_array()))
    {
        my %zaznam;
        for(my $i = 0; $i<=$#nazvy; $i++)
        {
            # Upravit názvy přejmenovaných polí.
            $nazvy[$i] =~ s/^.*\s+AS\s+//i;
            $zaznam{$nazvy[$i]} = $radek[$i];
        }
        push(@pole, \%zaznam);
    }
    return \@pole;
}



1;
