MySQL & mSQL



              

DBI - часть 6


my @types = @{$table_data->TYPE};

# $table_data->is_not_null возвращает ссылку на массив типа Boolean,

# указывающий, в каких полях установлен флат 'NOT NULL'.

my @>not_null = @{$table_data->is_not_null};

# $table_data->length возвращает ссылку на массив длин полей. Они

фиксированные

# для типов INT и REAL, но переменые (заданные при создании

# таблицы) для CHAR.

my @length = @{$table_data->length};

# Все перечисленные выше массивы возвращаются в одном и том же порядке,

# поэтому $fields[0], $types[0], $ndt_null[0] and $length[0] относятся к одному полю.

foreach $field (0..$#fields) {

print "<TR>\n";

print "<TD>$fields[$field]<TD>$types[$field]<TD>";

print $length[$field]

if $types[$field] eq 'SQL_CHAR';

print "<TD>";

print 'Y' if ($not_null[$field]);

print "</tr>\n"; }

print <<END_OF_HTML; </table>

<P>

<B>Data</b><br>

<OL>

END_OF_HTML

# Теперь мы будем построчно перемещаться по данным с помощью DBI::fetchrow_array().

# Мы сохраним данные в массиве в таком же порядке, как и в информационных

# массивах (§fields, @types, etc,), которые мы создали раньше.

while(my(@data)=$table_data->fetchrow_array) {

print "<LI>\n<UL>";

for (0..$#data) {

print "<LI>$fields[$_] => $data[$_]</li>\n"; }

print "</ulx/li>"; }

print «END_OF_HTML;

</ol>

</body></html>

END_OF_HTML




Содержание  Назад  Вперед