469,289 Members | 2,330 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,289 developers. It's quick & easy.

Perl DBI: Getting POST info into select query

Hi,

I'm trying to use a simple form to select by which column I will display
output from a MySQL database.

I'd like to display based on ORDER BY and select Written, Average, etc.

I know the data is getting to the script from the post, I just can't get it
to the select statement.

Here is the code:


#!/usr/bin/perl

use DBI;

$sizeOfFormInformation = $ENV{'CONTENT_LENGTH'};
read (STDIN, $form_info, $sizeOfFormInformation);

($field_name, $command) = split (/=/, $form_info);

my $dbh = DBI->connect ('DBI:mysql:eln8220s02', root) or die "Couldn't
connect to database: " . DBI->errstr;

my $sth = $dbh->prepare('

select marks.Last_Name, min(marks.Score) as Minimum, max(marks.Score) as
Maximum, avg(marks.Score) as Average, count(marks.Score) as Count from marks
where marks.Type = "quiz" and marks.Score > 0 group by Last_Name order by
[THIS IS WHERE I WANT TO INSERT THE POST DATA] desc

') or die "Couldn't prepare statement: " . $dbh->errstr;

$sth->execute;


Any help would be appreciated.

Thanks.
Jul 19 '05 #1
1 5629
Why don't you use the CGI module to read the POST request?
Let's say you have a field in your POST request called 'order_by', you
would do:

use CGI;
my $query = CGI->new;
my $order_by = $query->param('order_by');

Check: http://www.perldoc.com/perl5.6/lib/CGI.html

Regards,

-Andrés

Mavis wrote:
Hi,

I'm trying to use a simple form to select by which column I will display
output from a MySQL database.

I'd like to display based on ORDER BY and select Written, Average, etc.

I know the data is getting to the script from the post, I just can't get it
to the select statement.

Here is the code:


#!/usr/bin/perl

use DBI;

$sizeOfFormInformation = $ENV{'CONTENT_LENGTH'};
read (STDIN, $form_info, $sizeOfFormInformation);

($field_name, $command) = split (/=/, $form_info);

my $dbh = DBI->connect ('DBI:mysql:eln8220s02', root) or die "Couldn't
connect to database: " . DBI->errstr;

my $sth = $dbh->prepare('

select marks.Last_Name, min(marks.Score) as Minimum, max(marks.Score) as
Maximum, avg(marks.Score) as Average, count(marks.Score) as Count from marks
where marks.Type = "quiz" and marks.Score > 0 group by Last_Name order by
[THIS IS WHERE I WANT TO INSERT THE POST DATA] desc

') or die "Couldn't prepare statement: " . $dbh->errstr;

$sth->execute;


Any help would be appreciated.

Thanks.

Jul 19 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

reply views Thread by nickyxu | last post: by
1 post views Thread by Rebles | last post: by
2 posts views Thread by smithji | last post: by
3 posts views Thread by pramod1984 | last post: by
1 post views Thread by CARIGAR | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.