I'm tweaking around the existing script to make it work. I have three fields to enter before searching database. When I tried two entries, search result works, but not three. See partly excerpted codes below. Any better codes also welcome, thanks.
$query_Signs = sprintf("SELECT * FROM someTB WHERE sFig AND sMov LIKE '%s%%' AND vWord IS NOT NULL ORDER BY sName ASC", $colname_Signs);
But, when I added one more field:
$query_Signs = sprintf("SELECT * FROM someTB WHERE sFig AND sMov AND sLoc LIKE '%s%%' AND vWord IS NOT NULL ORDER BY sName ASC", $colname_Signs);
When clicking on the "search" button, the result shows none. I don't understand why one AND operator works (even one AND and one OR worked) but not two ANDs.
$colname_Signs = "words";
if (isset($HTTP_GET_VARS['sFig'])) {
$colname_Signs = (get_magic_quotes_gpc()) ? $HTTP_GET_VARS['sFig'] : addslashes($HTTP_GET_VARS['sFig']);
}
$colname_Signs = "words";
if (isset($HTTP_GET_VARS['sMov'])) {
$colname_Signs = (get_magic_quotes_gpc()) ? $HTTP_GET_VARS['sMov'] : addslashes($HTTP_GET_VARS['sMov']);
}
$colname_Signs = "words";
if (isset($HTTP_GET_VARS['sLoc'])) {
$colname_Signs = (get_magic_quotes_gpc()) ? $HTTP_GET_VARS['sLoc'] : addslashes($HTTP_GET_VARS['sLoc']);
}
mysql_select_db($database_dict, $dict);
$query_Signs = sprintf("SELECT * FROM TB WHERE sFig AND sMov AND sLoc LIKE '%s%%' AND vWord IS NOT NULL ORDER BY sName ASC", $colname_Signs);
<form name="search" method="get" action="none.php">
<select name="sFig" size="1" class="field">
<option value="d" selected>any here</option>
<option value="e">hhh</option>
</select>
<select name="sMov" size="1" class="field">
<option value="ff" selected>ee</option>
<option value="ee">ee</option>
</select>
<select name="sLoc" size="1" class="field">
<option value="ir" selected>ir</option>
<option value="lair">lair</option>
</select>
<input type="submit" value="Find" name="submitword" class="mouseoff" onMouseOver="this.className='mouseon'" onMouseOut="this.className='mouseoff'">
</form>