こんにちは、これから乱数を1つ選択しようとしました:
私の情報源:
use DBI;
use CGI;
my $file = '.\input.txt'; # Name the file
open(FILE, $file) or die("Unable to open file");
my @data = <FILE>;
foreach my $line (@data)
{
chomp $line
my $sth = $dbh->prepare("SELECT columnA FROM table WHERE columnA LIKE '%$line%'");
$sth->execute;
my $result = $sth->fetchall_arrayref;
foreach my $row ( @$result ) {
print "- ";
print "@$row\n";
print "<BR />";
}
}
ランダムな行を1つだけ印刷するにはどうすればよいですか??? 私はそのようなことを試しました:
my $sth = $dbh->prepare("SELECT nazov_receptu FROM recepty WHERE nazov_receptu LIKE '%$line%' AND kategoria == 'p' AND (rowid = (abs(random()) % (select max(rowid)+1 from recepty)) or rowid = (select max(rowid) from recepty)) order by rowid limit 1;");
しかし、それは明らかではありません...理由はわかりません...
私は SQLite を使用しており、それを Web インターフェイスに出力しています。
input.txt がある場合に試すことができます。
A
C
データベース:
id name
1 A
2 B
3 C
4 D
5 E
アウト:
A OR C (random)