Hi all,
I have a perl CGI form like thus:
X | Call No | Call No textfield
X | Problem | Problem textfield
The X's represent checkboxes.
In the backend, I have two arrays:
@fields: checked fields
@entries: text fields with entries.
my code for generating the SQL is below. My problem
occurs when one enters text into more than one text
field. For example, say I check "Call No" and "Problem"
and enter "111" and "seating" into their respective
text fields. The SQL becomes:
SELECT call_no, problem FROM HELP WHERE
( call_no LIKE 111 problem LIKE seating )
There needs to be an "AND" in the WHERE clause. The SQL
should read:
SELECT call_no, problem FROM HELP WHERE
( call_no LIKE 111 AND problem LIKE seating )
I'll be stuffed if I know how to do it.
Can the monks help me???
Thanks,
Stacy.
***********
$nfields = @fields;
foreach $i (@entries) {
if ($i ne '') {
push @full_entries, $i;
}
}
$sql = sprintf "SELECT %s FROM HELP WHERE (", join(", ", @fields);
for ($j = 0; $j < $nfields; $j++) {
if ($full_entries[$j] ne '') {
$sql .= sprintf " %s LIKE %s ", $fields[$j], $full_entries[$j];
+
}
}
$sql .= ")";