Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Quering database data in perl cgi script

by kapoor (Novice)
on Sep 30, 2010 at 01:40 UTC ( #862733=perlquestion: print w/ replies, xml ) Need Help??
kapoor has asked for the wisdom of the Perl Monks concerning the following question:

Question: In undermentioned I am calling bugzilla_QAmembers.cgi script but that does not takes data and displays nothing. Also is "qaname=$Name" I am correctly assigning, please advice.

foreach my $num (keys %bug_d) { $bug_detail{$num} = "<A HREF=\"http://t34.qa.qualys.com/Vulns +igs_Release/cgi-bin/bugzilla_QAmembers.cgi?bug_id=$num&qaname=$Name\" + TARGET=\"_blank\">$bug_d{$num}</A>"; }

MAIN SCRIPT

$q = new CGI; print $q->start_html(); print $q->startform; print $q->strong("Compliance Engineer Details"); print $q->br; print $q->br; print $q->popup_menu( -name=>'Compliance Members', -values=>['Alan Covell','Andy Hu','Chris Russo','Darren Wei','Dianf +ang Gao','David Mcmillan','Jin Wu','Jingyang (Johnson) Liu','Kenneth +trant','Sridhar Gundubogula','Steve Nixon','Stephen willis','Vaibhav +Mehrotra','Wolfgang Kandek'], -default=>'Vaibhav Mehrotra', ); print $q->submit('action','submit'); $Name = $q->param(-name=>'Compliance Members'); print $q->endform; print $q->end_html; my $tankdbh = QualysVulnQA::bugsopen(); sub general_query { my $dbh = shift @_; my $query = shift @_; my $sth = $dbh->prepare($query) || die "Prepare error: $! for sql: $q +uery\n"; $sth->execute() || die "Execute error: $!\n"; my $results = $sth->fetchrow_array(); return $results; } my $Compliance_Member = "select count(*) as count1,bug_status from bug +s,profiles where (bugs.qa_contact=profiles.userid) and product_id = 1 +9 and component_id = 271 and profiles.realname='$Name' group by bug_s +tatus"; my $sth = $tankdbh->prepare($Compliance_Member) || die "Prepare error: + $!\n"; $sth->execute() || die "Execute error: $!\n"; my %bug_d; while (my $rec = $sth->fetchrow_hashref) { $count = $rec->{count1}; $bug_status = $rec->{bug_status}; $bug_d{$bug_status} = $count; } foreach my $num (keys %bug_d) { $bug_detail{$num} = "<A HREF=\"http://t34.qa.qualys.com/Vulns +igs_Release/cgi-bin/bugzilla_QAmembers.cgi?bug_id=$num&qaname=$Name\" + TARGET=\"_blank\">$bug_d{$num}</A>"; }

bugzilla_QAmembers.cgi -- script

#!/usr/bin/perl use strict; #use warnings; use QualysVulnQA; print "<html>"; print '<head>'; print "Content-Type: text/html\n\n"; print '<title>Compliance Bugzilla</title>'; print '<img src="/images/heading_1.gif" alt="[Qualys Intranet]" width= +"678" height="112"></head>'; print '<body BGCOLOR="#638cc8" LINK="Blue" TEXT="black" VLINK="Yellow" + ALINK="Yellow">'; print "</body>"; print "</html>"; my $tankdbh = QualysVulnQA::bugsopen(); my $request_method = $ENV{'REQUEST_METHOD'}; my $query_string = $ENV{'QUERY_STRING'}; my $path_info = $ENV{'PATH_INFO'}; my $content_length = $ENV{'CONTENT_LENGTH'}; # Parse web content my %webin; my @pairs = split(/&/, $query_string); print @pairs; foreach my $pair (@pairs) { (my $name, my $value) = split(/=/, $pair); # Un-Webify plus signs and %-encoding $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ s/^M//g; $value =~ s/~!/ ~!/g; $webin{$name} = $value; } my $Name= $webin{"qaname"}; my $bug = $webin{"bug_id"}; my $new = "select bug_id as Bug_Number,short_desc as Bug_Summary from +bugs,profiles where (bugs.qa_contact=profiles.userid) and product_id += 19 and component_id = 271 and bug_status='$bug' and profiles.realna +me='$Name'"; my $results = QualysVulnQA::generic_db_query($tankdbh,$new); #print $result; #my $status; #SWITCH: { # $status = "NEW", last SWITCH if ($bug == 'NEW'); # $status = "ASSIGNED", last SWITCH if ($bug == ' +ASSIGNED'); # $status = "RESOLVED", last SWITCH if ($bug == +'RESOLVED'); # $status = "VERIFIED", last SWITCH if ($bug == +'VERIFIED'); # $status = "CLOSED", last SWITCH if ($bug == 'C +LOSED'); # } # Output to browser print STDOUT "<HTML><BODY>\n"; #print STDOUT "<CENTER><H3>Compliance Bugzilla Bugs in '$status' State +</H3></CENTER>\n"; print STDOUT "<TABLE BORDER=1>\n"; print STDOUT "<TR><TH>Bug_Number</TH><TH>Bug_Summary</TH></TR>\n"; foreach my $ref (@{$results}) { my $Bug_Number = $ref->{"Bug_Number"}; my $Bug_Summary = $ref->{"Bug_Summary"}; my $bug = "<A HREF=\"https://bugs.intranet.qualys.com/show_bug.cg +i?id="; # TARGET=\"_blank\"; $bug .= $Bug_Number; $bug .= "\">$Bug_Number</A>"; print STDOUT "<TR><TD>$bug</TD><TD>$Bug_Summary</TD></TR>\n"; } print "</TABLE>\n"; print STDOUT "</BODY></HTML>\n";

Comment on Quering database data in perl cgi script
Select or Download Code
Re: Quering database data in perl cgi script
by Anonymous Monk on Sep 30, 2010 at 05:10 UTC
    Question: In undermentioned I am calling bugzilla_QAmembers.cgi script but that does not takes data and displays nothing. Also is "qaname=$Name" I am correctly assigning, please advice.

Re: Querying database data in perl cgi script
by rowdog (Curate) on Oct 01, 2010 at 03:42 UTC
    print "<html>"; print '<head>'; print "Content-Type: text/html\n\n";

    One problem is that it's traditional to send the tags after the headers. Try something like...

    print "Content-Type: text/html\n\n"; print "<html>"; print '<head>';
      rowdog, you are a comic genius -- RFCs are traditional, ROFLMAO!!!

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://862733]
Approved by ww
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (7)
As of 2014-12-21 09:36 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (104 votes), past polls