RE: [PHP-DB] How to eliminate bad fields from a mysql query?

From: Date: Fri, 30 Mar 2001 23:39:50 +0000
Subject: RE: [PHP-DB] How to eliminate bad fields from a mysql query?
Groups: php.db 
Request: Send a blank email to php-db+get-8055@lists.php.net to get a copy of this message
Bob, Don't know if this is what you're looking for, but you *could* do something like: $noData = true; $strSQL = "SELECT field1, field2, field3 FROM table ...."; $results = mysql_query($strSQL, $db) or $noData = false; if ($noData) { print "<TABLE>"; while (list($field1, $field2, $field3) = mysql_fetch_array($results)) { len(trim($field1)) > 0 ? print "<TR><TD>LABEL</TD><TD>$field1</TD></TR>" : print ""; len(trim($field2)) > 0 ? print "<TR><TD>LABEL</TD><TD>$field2</TD></TR>" : print ""; len(trim($field3)) > 0 ? print "<TR><TD>LABEL</TD><TD>$field3</TD></TR>" : print ""; } print "</TABLE>"; } somewhere in your code, you might consider a cascading-style sheet.... 1. Cleaner to read 2. Eliminates redundant code 3. Smaller file size 4. Smaller file size = faster download maybe something like... <STYLE TYPE="text/css"> <!-- TD {color: #0000FF; font-size: 10pt} //--> </STYLE> now about consistent values in the database you could setup an ENUM field to ensure that you're getting data consistently. mySQL won't allow certain things to be entered if it doesn't follow a convention... Ex: mysql>ALTER TABLE tShirts ADD sizes mysql>ENUM('S','M','L','XL','XXL') NOT NULL DEFAULT('M'); now for institutions??? the IF-THEN/WHILE structure will prevent blank entries, incorrect entries are another thing... HTH, christohper Oson -----Original Message----- From: Bob Stone [mailto:bstone98@yahoo.com] Sent: Friday, March 30, 2001 2:56 PM To: php-db@lists.php.net Subject: [PHP-DB] How to eliminate bad fields from a mysql query? Dear PHP Helpers, Can you direct me to a solution for this problem: How can I eliminate bad (blank or incorrect) fields from a mysql query? In other words, if someone leaves a form field blank or enters a value that does not have a matching entry in the database, how can I eliminate that variable from the query? The query that I am using now works fine if the user enters a value in field that exists in the database. However if a field is left blank or incorrect data is entered, no results will display on the screen. Here is the code that I am using: $result = mysql_query("SELECT salutation, first_name, mid_name, user_name, cert_deg, job_title, institution, address_1, address_2, geo_loc, state, zip, country, phone, fax, e_mail FROM svt_members where first_name like '$first_name' && user_name like '$user_name' && institution like '$institution' && state='$state' && country like '$country'", $db); while ($myrow = mysql_fetch_array($result)) { printf("Name: <b><font color=\"green\" size=\"5s\">%s %s %s %s\n<br></b></font>", $myrow["salutation"], $myrow["first_name"], $myrow["mid_name"], $myrow["user_name"]); printf("Credentials and Degrees: <b><font color=\"blue\" size=\2\">%s</font></b><br>Job Title: <b><font color=\"blue\" size=\2\">%s</font></b><br>Company/Institution: <b><font color=\"blue\" size=\2\">%s<br></font></b>Address: <b><font color=\"blue\" size=\2\">%s %s<br></font></b>City: <b><font color=\"blue\" size=\2\">%s</font></b> State/Province: <b><font color=\"blue\" size=\2\">%s<br></font></b>Country: <b><font color=\"blue\" size=\2\">%s</font></b> Postal Code: <b><font color=\"blue\" size=\2\">%s<br></font></b>Voice: <b><font color=\"blue\" size=\2\">%s</font></b> Fax: <b><font color=\"blue\" size=\2\">%s<br></font></b>E-mail: <b><font color=\"blue\" size=\2\">%s\n<P></b></font>", $myrow["cert_deg"], $myrow["job_title"], $myrow["institution"], $myrow["address_1"], $myrow["address_2"], $myrow["geo_loc"], $myrow["state"], $myrow["country"], $myrow["zip"], $myrow["phone"], $myrow["fax"], $myrow["e_mail"]); } So if (for instance) a user enters data for each field except institution, how can I get the query to disregard $institution? Or if there is a better approach that I should be using instead of the above, please let me know. Thank you, Bob __________________________________________________ Do You Yahoo!? Get email at your own domain with Yahoo! Mail. http://personal.mail.yahoo.com/?.refer=text -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, e-mail: php-db-unsubscribe@lists.php.net For additional commands, e-mail: php-db-help@lists.php.net To contact the list administrators, e-mail: php-list-admin@lists.php.net

« previous php.db (#8055) next »