in reply to Re^2: [Solved]: Can we use print <<HTML; twice in same file?
in thread [Solved]: Can we use print <<HTML; twice in same file?

mysql> desc comm_desk_widget_status; +--------------+--------------+------+-----+-------------------+ | Field | Type | Null | Key | Default | +--------------+--------------+------+-----+-------------------+ | user | varchar(100) | NO | PRI | NULL | | name | varchar(200) | NO | PRI | | | display | varchar(200) | NO | | NULL | | active | int(1) | NO | | 1 | | ts | timestamp | NO | | CURRENT_TIMESTAMP | | last_updated | varchar(100) | YES | | NULL | +--------------+--------------+------+-----+-------------------+
This is the table description.

Replies are listed 'Best First'.
Re^4: [Solved]: Can we use print <<HTML; twice in same file?
by poj (Abbot) on Aug 25, 2015 at 20:07 UTC

    But what is in the name field ?. I ask because you seem to be using the sort order on that field to match the order of input fields on your page.

    poj
      And "name" column has all those entires for which I have created checkboxes. Like

      (column)Name: average_speed_answer (col)display: Average Speed of Answer

      (column)Name: percent_trunk_usage (col)display: % Trunk Usage

      etc... For example:

      +-------+-------------------------+-------------------------+--------+ | user | name | display | active | +-------+-------------------------+-------------------------+--------+ | admin | average_speed_answer | Average Speed of Answer | 1 | | admin | ivr_call_volume | IVR Call Volume | 1 | | admin | non_outage_call_volume | Non-Outage Call Volume | 1 | | admin | outage_call_volume | Outage Call Volume | 1 | | admin | percent_trunk_usage | % Trunk Usage | 1 | | admin | post_ivr_call_volume | Post-IVR Call Volume | 1 | | admin | pre_ivr_call_volumn | Pre-IVR Call Volume | 1 | | admin | trunk_group_utilization | Trunk Group Utilization | 1 | +-------+-------------------------+-------------------------+--------+

        So when fetched in sorted order $widget[0] will hold the active flag for average_speed_answer not trunk_usage?. Or have you changed the script to use different elements. For example where you had

        if (row[0] eq '1') { print "<td><form><input type="checkbox" name="trunk_usage" value="1" + checked>% Trunk Usage</form></td>";

        is that now

        if ($widget[4] eq '1') { print "<td><form><input type="checkbox" name="trunk_usage" value="1" + checked>% Trunk Usage</form></td>";
        update :

        If you used a hash instead of an array

        my $sql = 'SELECT name,active FROM comm_desk_widget_status WHERE user = ?'; my $sth = $dbh->prepare($sql); $sth->execute('admin'); my %widget=(); while (my ($name,$active) = $sth->fetchrow_array) { $widget{$name} = $active; }

        then you could use

        if ($widget{'percent_trunk_usage'} == 1) { print "<td><form><input type="checkbox" name="trunk_usage" value="1" + checked>% Trunk Usage</form></td>";

        and there would be no chance of getting out of step

        poj